git分支管理

简介

      在开发大型项目中,很多情况下不同开发人员负责开发不同的模块,这时效率就显得尤为重要,git的分支管理明确而简洁地解决了大部分问题

用法

  • 新建一个分支

    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br
    * master
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git checkout -b master-a
    Switched to a new branch 'master-a'
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br
      master
    * master-a
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $



    如图所示,本地仓库默认有一个master分支,这时我们如果新建一个分支master-a,此时跟master是指向一个版本的,然后我们转移到master-a分支上完成我们的工作即可;
    那么,会产生一个问题,git如何知道我们现在处于哪个分支呢;如图,git有一个HEAD指针用来指向本地当前所在的分支,所以在我们转移到master-a分支后,HEAD也指向了master-a分支.

  • 合并分支

    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br
      master
    * master-a
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ vi a.txt
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "master-a"
    [master-a 9db9161] master-a
     1 file changed, 1 insertion(+), 1 deletion(-)
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git co master
    Switched to branch 'master'
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ vi a.txt
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "master"
    [master 4c88be5] master
     1 file changed, 1 insertion(+), 1 deletion(-)
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-a
    Auto-merging a.txt
    CONFLICT (content): Merge conflict in a.txt
    Automatic merge failed; fix conflicts and then commit the result.



    我们在master-a分支上做了一些工作之后想把工作合并到原分支上,这时会产生一些冲突,因为有可能原来的master分支也被修改过了,所以我们要解决冲突;
    解决的办法就是找到产生冲突的文件,里面会显示master与master-a冲突的行,<<<所在的位置就两个分支冲突的地方,上下通过====分割

      1 <<<<<<< HEAD
      2 asdassss
      3 =======
      4 asdadassss
      5 >>>>>>> master-a
      6 bbbb
      7 adasdaaaaa
      8 assssasdaddss
      9 asdad
     10 ss

    修改好后再次合并就可以了.

    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-a
    error: Merging is not possible because you have unmerged files.
    hint: Fix them up in the work tree, and then use 'git add/rm <file>'
    hint: as appropriate to mark resolution and make a commit.
    fatal: Exiting because of an unresolved conflict.
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "sure"
    [master 7a14172] sure
    [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-a
    Already up-to-date.


常用命令

命令 作用
git branch

显示所有分支

git branch a 新建一个名为a的分支
git checkout -b a 新建一个名为a的分支并切换上去
git branch -d a 删除名为a的分支
git merge a 将当前分支与a合并
git checkout a 切换到a分支上


      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值