好巧。就在我写到这篇的时候,郭霖大神刚好推出了一篇Git使用大全,附微信推文连接,大师,我是你的粉丝
http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236779&idx=1&sn=2ba112b0d9c2ba4aff82d0dcff8ac6ef&scene=0#wechat_redirect
本次以我写过的一个demo为例,学习分支前,先创建代码仓库,提交项目:
$git init
$git add .
$git commit -m "First commit."
先说一下为什么要使用分支,我们开发软件的时候会随着时间推移不断更新版本,为了在开发新版本的时候不覆盖掉旧版本(旧版本可能会出现Bug,此时需要修改旧版本,若没有分支,此时的旧版本上就有了正在开发的新版本的特性,这并不好,因为新版本可能开发还不完全)。
有了分支,只需在发布一个版本的时候创建一个分支,然后再主干线上继续开发新的后续版本,当发现旧版本有Bug的时候只需修改分支并将分支合并到主干线即可。
分支的使用
- 查看分支
git branch -a
查看分支git branch -a
此项目还没创建过分支,因此只有master主干线
- 创建分支
git branch version1.0
此时再次使用git branch -a查看,能看到多了一个分支
创建分支
- 切换分支
此时master前面有个*号,说明master为主干线,此时使用checkout命令可以切换到version1.0上
git chechout version1.0
切换分支
可以看到,此时已经在version1.0分支上了
- 合并分支
由于在各自分支上修改代码不会相互影响,为了在修改Bug后同时修复多个分支,使用合并merge命令
git checkout master
git merge version1.0
这样就把version1.0分支上修改并提交的内容合并到master上了,如果合并的时候出现代码冲突,就需要自己找出并解决了。
- 删除不需要的分支
git branch -D version1.0
合并,删除分支
与远程版本库协作(团队合作开发的时候)
- 下载远程版本库的代码
比如现有一个远程版本库的Git地址是http://github.com/example/test.git, 使用如下命令即可将代码下载到本地
git clone http://github.com/example/test.git
- 将本地内容同步到远程版本库
git push origin master
origin指定的远程版本库的Git地址
master指定同步哪个分支
- 将远程版本库上的修改同步到本地,有两种命令,fetch和pull
fetch
git fetch origin master
此时同步下来的代码不会合并到任何分支上,而是存放在一个origin/master分支上
可以通过diff命令来查看远程版本库上修改了什么内容
git diff origin/master
之后再调用merge将origin/master合并到主干线上即可
git merge origin/master
pull
pull命令相当于将fetch和merge这两个命令合并一起执行,它可以从远程版本库获取代码并合并到本地
git pull origin master
本文内容来自《第一行代码》,为加深自己理解,特此写到这里,到此,书中对Git的介绍就告一段落了。
网友评论