基本知识:本地分支管理(管理的是本地仓库中的工作区和版本库的内容)


并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
  • master分支是主分支,因此要时刻与远程同步;
  • dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
  • bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
  • feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定!


首先,我们创建 dev 分支,然后切换到 dev 分支:

$ git checkout -b dev
Switched to a new branch 'dev'

git checkout 命令加上 -b 参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'

然后,用 git branch 命令查看当前分支:

$ git branch
* dev
  master

git branch 命令会列出所有分支,当前分支前面会标一个 * 号。

然后,我们就可以在 dev 分支上正常提交,比如对readme.txt做个修改,加上一行:
Creating a new branch is quick.
然后提交:

$ git add readme.txt
$ git commit -m "branch test"
[dev fec145a] branch test
1 file changed, 1 insertion(+)

现在, dev 分支的工作完成,我们就可以切换回 master 分支:

$ git checkout master
Switched to branch 'master'

切换回 master 分支后,再查看工作区的readme.txt文件,刚才添加的内容不见了!因为那个提交是在 dev 分支上,而 master 分支此刻的提交点并没有变。
现在,我们把 dev 分支的工作成果合并到 master 分支上:

$ git merge dev
Updating d17efd8..fec145a
Fast-forward
readme.txt |    1 +
1 file changed, 1 insertion(+)
git merge 命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和 dev 分支的最新提交是完全一样的。
注意到上面的 Fast-forward 信息,Git告诉我们,这次合并是“快进模式”,也就是直接把 master 指针指向 dev 的当前提交,所以合并速度非常快。
当然,也不是每次合并都能 Fast-forward ,我们后面会讲其他方式的合并。
合并完成后,就可以放心地删除 dev 分支了:

$ git branch -d dev
Deleted branch dev (was fec145a).
删除后,查看 branch ,就只剩下 master 分支了:

$ git branch
* master
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在 master 分支上工作效果是一样的,但过程更安全。

小结:

Git鼓励大量使用分支:
查看分支: git branch
创建分支: git branch <name>
切换分支: git checkout <name>
创建+切换分支: git checkout -b <name>
合并某分支到当前分支: git merge <name>
合并分支时,加上 --no-ff 参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而 fast forward 合并就看不出来曾经做过合并。
例如:
$ git merge --no-ff -m "merge with no-ff" dev
Merge made by the 'recursive' strategy.
readme.txt |    1 +
1 file changed, 1 insertion(+)


删除分支: git branch -d <name>

如果要丢弃一个没有被合并过的分支,可以通过 git branch -D <name> 强行删除。





















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值