本地git分支管理

本地git分支管理

  • 查看分支,创建分支,切换分支(apeng)
  • 在apeng分支下创建文件apeng1.txt提交给服务端
  • 切换到master分支下,查看apeng1.txt有没有在master分支下(分支之间是相互隔离开的)
  • 将apeng分支合并到master分支上

    1.先切换到master分支
    2.将apeng分支合并到master分支上
  • 在master,apeng分支下分别修改apeng1.txt,并提交,再将apeng分支合并到master分支上,会产生冲突
  • 解决冲突的方法是在master分支下,编辑apeng1.txt,改为apeng分支里面apeng1.txt的内容,然后提交,再合并apeng分支

但是这样有一个问题,万一master分支更改的内容是我们想要的呢?可以编辑apeng1.txt内容,改为想要的,然后提交。切换到apeng分支,然后合并master分支到apeng分支即可。

  • 合并分支有一个原则,那就是要把最新的分支合并到旧的分支。也就是说merge后面跟的分支名字一定是最新的分支
  • 删除分支

代码如下:

cd /git/local/
git branch   //查看分支
git branch apeng  //创建分支apeng
git checkout apeng //切换分支到“apeng”
[root@localhost local]# git branch //代表当前在apeng这个分支下
* apeng
  master
[root@localhost local]# echo "apeng1" > apeng1.txt
[root@localhost local]# git add apeng1.txt
[root@localhost local]# git commit -m "add apeng1.txt"
[root@localhost local]# git checkout master
切换到分支 'master'
[root@localhost local]# ls  //发现并没有apeng1.txt
git-test.file
[root@localhost local]# git merge apeng
更新 ff5a978..f4ecf82
Fast-forward
 apeng1.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 apeng1.txt
[root@localhost local]# ls
apeng1.txt  git-test.file

在master,apeng分支下分别修改apeng1.txt,并提交,再将apeng分支合并到master分支上,产生了冲突

[root@localhost local]# git branch
  apeng
* master
[root@localhost local]# vim apeng1.txt 
[root@localhost local]# git add apeng1.txt
[root@localhost local]# git commit -m "master-modify-apeng1.txt"
[root@localhost local]# git checkout apeng 
切换到分支 'apeng'
[root@localhost local]# vim apeng1.txt 
[root@localhost local]# git add apeng1.txt
[root@localhost local]# git commit -m "apeng-modify-apeng1.txt"
[root@localhost local]# git checkout master 
切换到分支 'master'
[root@localhost local]# git merge apeng 
自动合并 apeng1.txt
冲突(内容):合并冲突于 apeng1.txt
自动合并失败,修正冲突然后提交修正的结果。

解决冲突(冲突时不可以切换到另一个分支)

[root@localhost local]# cat apeng1.txt 
apeng1
<<<<<<< HEAD
master-modify
=======
apeng-modify-apeng1.txt
>>>>>>> apeng
//将文件改成如下
[root@localhost local]# cat apeng1.txt 
apeng1
apeng-modify-apeng1.txt

[root@localhost local]# git add apeng1.txt
[root@localhost local]# git commit -m "modify1-apeng1.txt"
[master 988df3f] modify1-apeng1.txt
[root@localhost local]# git merge apeng
Already up-to-date.

删除分支

[root@localhost local]# git branch -d apeng //不能删除自己所在的分支
error: 无法删除您当前所在的分支 'apeng'。
[root@localhost local]# git checkout master 
切换到分支 'master'
[root@localhost local]# git branch -d apeng
已删除分支 apeng(曾为 36c313c)。

转载于:https://blog.51cto.com/13480443/2090597

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值