CVS SVN
Git
Git的简单使用(管理版本库repository中的所有文件)
git的简单初始配置(配置你的计算机中全局的用户名和密码)
------------------------------------------命令行
$ git config --globaluser.name "Your Name"
$ git config --globaluser.email "[email protected]"
------------------------------------------命令行
创建一个版本库
你可以在一个非空的目录中直接创建一个版本库,也可以创建一个空白的版本库
创建一个你想要管理的空目录,进入到该目录下打开命令行输入git init可以把这个目录变成一个被git管理的仓库,此时,我们会发现多了一个.git的文件夹
Git的版本库里存了很多东西,其中最重要的就是称为stage的暂存区,还有Git为我们自动创建的第一个分支 master(主分支),以及指向master的一个指针叫HEAD。
当有了一个版本库(受git管理的仓库),只要你的仓库中有任何改动,那么,当你使用命令去添加这个改动的文件时,git就会检索出该文件与远程版本库中的差异,对你进行提示,标红那些你与远程版本库中不同的地方
往版本库中添加一个文件并提交到本地
使用git add命令把当前版本库中修改过的文件添加到git的缓存区
---- git add . /git add文件名 -----添加当前目录下的所有改动过的文件/指定文件到缓存区
使用git commit命令把缓存区中的添加的内容提交到本地版本库或者远程版本库
---- git commit -m“此次修改的内容或提示” -----对添加到缓存区的文件
进行本地提交。
从版本库中下拉最新的代码到本地
---- git pull
查看当前版本库的状态
---- git status ----
前面添加了修改文件到缓存区,但是还未提交,查看一下状态,显示未提交
提交修改到本地
此时再查看一下版本库中的状态,工作区中很干净
当我们下一次重新工作对工作区中的文件进行了修改后再查看一下工作区中的状态
时,git给我们做出了提示:说当前主分支中的修改状态还未准备提交修改,可以使用git add把修改文件添加到缓存区再进行提交
当然,我们可以通过 git diff命令来查看当前修改的文件与上次提交过的文件的不同之处,譬如上次我在文件中写了一句this is one work,此次我另起一行增加了一句this is twice update
当我突然着手开发其他项目的时候把当前的项目放一边了,等完成手上的项目时候再着手这个项目时,已经忘记了修改了什么内容了,只要你上次修改的没有被提交,你查看状态的时候git工具还是会把当前工作区的状态比照上一次你提交的状态,你只要用git diff就可以查看当前修改的地方了
版本回退
git log
我们可以用git log命令来查看该版本库中每一次提交过的日志
最新提交右边有一个明显的标识HEAD,来指明当前为该版本库的最后一次提交的记录,HEAD^表示上次提交,HEAD^^表示上上次,以此类推
当我们想要回退到上一个版本时,我们只需要输入命令
git reset --hard HEAD^
也可以直接输入当前日志的id号回退到指定版本,例如
git reset --hardcb6e0c8ca2ff919714d29f1bd41872b3de8b46a6
除了查看日志之外,还可以查看命令的记录
git reflog
撤销修改
撤销未提交的修改
使用 git checkout -- file(文件名) 对修改的内容进行撤销,撤销到你上一次该文件的保存状态
撤销已添加到暂存区的修改
git reset HEAD file(文件名)可以对暂存区中的修改撤销掉,撤销回到修改但未提交的状态
删除文件
直接使用 rm file命令可以直接删除文件,然后版本库知道你的文件被删除了,
此时查看状态
再add和commit
使用git和远程仓库(github.com)进行关联
使用git工具和远程github进行连接需要使用ssh加密协议,所以在你本地的电脑上就必须有一个加密的公钥和私钥,如果你是在你的电脑上第一次使用git工具,就需输入以下命令创建你自己的公钥和私钥
$ssh-keygen -t rsa -C "[email protected]"
要使用远程托管,你就要在github.com上注册一个账号,登录你的账号进入Setting,然后找到SSH andGPG keys进入,选择new一个SSH key,然后打开你本地的.ssh文件夹里的id_rsa.pub(公钥,当你安装完Git后就会自动生成),把里面的内容粘贴到下面key这个地方,Title由你自己定义
如何把本地的项目提交到远程仓库进行管理
首先,要在github上先创建一个空的仓库Create a new repro,在Repository输入你的项目名,点击创建就创建了一个新的Git仓库。
然后,在你的项目目录下打开git bash,输入以下指令
$ git remote add [email protected]:github账户名/远程项目名.git
(有下划线的一项也可以使用https协议的github的项目选项上复制地址,默认的是ssh协议,传输速度最快)
代表要将当前的目录下的文件添加到远程仓库目录
最后,只需要执行命令
gitpush -u origin master
加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以直接使用gitpush origin master
从远程库仓库克隆项目到本地
$ git [email protected]:github账户名/远程项目名.git
(有下划线的一项也可以使用https协议的github的项目选项上复制地址)