上一篇简单介绍了Git仓库的搭建和基本用法,包括创建、版本回退啊等等,这一篇继续练习一些基本用法。
Git分支创建
正式项目里我们不能在master主线上进行修改,每个人负责的一块功能或者新增的业务需要在支线上进行处理,然后在主线上进行合并。
使用
git branch dev
命令可以创建一个dev分支,主线master上的工程会被复制一份到我们的分支上。使用git checkout dev
可以定位到我们刚创建的dev分支上。使用
git checkout -b dev
命令可以创建一个dev分支,并定位到我们刚创建的dev分支上。使用
git branch
命令可以查看我们目前所有的分支。前面带*的且字体为绿色的为我们当前定位到的分支。
Git分支的合并
我们在dev分支上对readme.txt进行了修改,添加了新的一行内容。要怎么把它提交到我们的主线master上去呢?
先将dev分支上的修改提交一下,使用
git add
和git commit
命令,具体用法参考上一篇然后
git branch master
切换到master下,查看readme.txt发现并无改动(废话,我们还没合并呢)。使用git merge dev
命令将dev分支合并到master上。之后查看readme.txt,发现我们之前修改的内容已经同步到了这里。
Tips:使用git merge命令时,Git会默认用Fast forward模式。这种模式合并非常快,但是如果把分支删除后,会彻底丢掉分支的信息。所以我们一般使用git merge --no-ff -m "merge with no-ff" dev,这样可以保留分支的历史信息。
解决合并发生的冲突
我们已经在dev分支上的readme文件中增加了一行"Git is good!",并且已经提交。回到master下,使用`git merge dev`后,出现了错误。
原来是出现冲突了!我们打印下master下的readme文件看看!
原来master上的readme文件也新增了一行"git is good!"是小写的,这肯定是错误的!我们编辑readme.txt这个文件,将小写的那句话去掉,保留大写的。然后提交,最好再合并!终于好了!
Git分支的删除
我们已经在dev分支上完成了我们的任务,并且已经同步到了master下。所谓卸磨杀驴,当前分支就可以删除啦。
- 使用
git branch -d dev
命令可以删除我们当前分支,如果当前分支有未更新内容,但是你还是想遗弃该分支,可以使用git branch -D dev
来强制删除dev分支。
Git的Tag标签使用
git的标签和command id 是一一对应的,可以说就是command id的别名,让我们更好记一点。
使用
git tag v1.0
命令给当前分支下最新的command id 打上标签。如果要给某一个command id 打标签,可以这样git tag v1.0 72cf95b
使用
git tag
命令可以查看当前分支下的所有标签。使用
git show v1.0
命令可以查看v1.0这个标签更详尽的信息。使用
git tag -d v1.0
命令可以删除v1.0这个标签。