Git版本库简介
我们提到Git版本库,都知道是由一个本地git版本库和一个远程服务器git版本库,而本地库与远程库之间的交流,是通过在本地库中生成一个“远程库副本”的方式实现的(这个“远程库副本”的概念,在用到fetch命令时才会去关注)。
注:
本地库 master
远程库 origin master
远程库副本 origin/master
一、创建Git版本库的两种方式
创建git版本库的直观表现是在所在目录下生成.git文件夹
- 方式一:clone
git clone http://sunrenxin@git.longhu.net/sunrenxin/gittest.git
cd gittest //初始化git目录(新目录),并下载远程版本库内容
touch README.md //新建名为README.md的空文件
git add README.md //将README.md文件加入本地版本控制,添加到本地库暂存区
git commit -m "add README"//将README.md文件提交到本地版本库,将更改提交到本地库
git push -u origin master //将本地版本库的修改提交到远程版本库
- 方式二:init
cd existing_folder
git init //初始化git目录
git remote add origin http://sunrenxin@git.longhu.net/sunrenxin/gittest.git //声明远程地址别名
git pull origin master. //将远程版本库内容(如果有的话)拉取到本地版本库
git add -a //将git目录下所有文件加入本地版本控制(到暂存区)
git commit -m "add all" //将git目录下受版本控制的内容提交到本地版本库(到本地库)
git push -u origin master //提交远程版本库
注:
git push -u origin master
=
git push origin master
+
git branch –set-upstream-to=origin/master
设置了set-upstream-to之后,就可以使:
git pull = git pull origin master
否则git pull无效。
二、更新代码
git pull //若本地库已与远程库关联,此语句将从远程库拉取最新代码;否则,该语句无效。
git pull origin master//此语句将从远程库拉取mater分支的最新代码
注:将本地库与远程库关联,用命令
git branch –set-upstream-to=origin/master
origin/master就是远程库在本地的生成的“远程库副本”
三、提交代码
git add -a //将修改添加到本地暂存区
git commit -m "添加了支付功能" //将修改提交到本地版本库
git push origin master //将修改提交到远程版本库
四、创建分支
git branch dev //创建本地分支dev
git checkout dev。 //切换本地分支到dev分支
git push -u origin dev //将本地dev分支提交到远程服务器
创建分支并切换到分支可以简写为:
git checkout -b dev
=
git branch dev
+
git checkout dev
五、版本回退
方式一:利用分支(branch)
我们可以完成第一版本开发后,创建一个名为1.0-stable的分支
git branch 1.0-stable //本地库创建分支
git push origin 1.0-stable //提交分支到远程库
//回退⬇️
git fetch origin/1.0-stable //将存于本地的“远程库副本”更新到最新版本
git reset --hard origin/1.0-stable //用远程库1.0-stable分支覆盖本地库代码
方式二:利用标签(tag)
git tag -a v1.0-rc.1 //本地库创建名为v1.0-rc.1的标签
//回退⬇️
git show v1.0-rc.1 //从结果中找到commit id.取前六位即可,如26ec08
git reset --hard 26ec08 //用v1.0-rc.1代码覆盖本地代码
创建标签用 -a (译注:取 annotated 的首字母)
标签名rc,表示发布候选版 (Release Candidate)
五、使用流程规范
提交(commit/push)前,先更新(pull)!
否则,会有冲突!
六、解决冲突
产生冲突后的文件内容是类似于这样的:
Git has a mutable index called stage.
Git tracks changes of files.
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1
解决冲突,只需要将
旧代码(Creating a new branch is quick & simple.)
和
标记符(<<< === >>>>)删掉,
就可以了。
解决后的样子:
Git has a mutable index called stage.
Git tracks changes of files.
Creating a new branch is quick AND simple.
冲突解决后,往往需要重新提交:
git add -a
git commit -m “解决了冲突并添加了新功能”