git操作(2)
1.git分支操作
-
git branch命令
查看分支
-
git branch【name】命令
新建分支
-
git checkout命令
切换分支
4.git push [shortName] [name]命令
由于你新建的分支是本地的并没有推送,所以需要Push一下
推送本地分支到远程仓库
- git merge [name]命令
合并分支
现在有两个分支b1和b2,现在如果我们要把b1分支的文件和b2分支的文件合并到主分支下。
你要合并到那个分支呢,要先切换到那个分支,我们现在是要合并到主分支master所以我们先切换到,然后输入命令git merge -m 'b1' b1
不加参数-m的话,会出现vim界面
这里面是默认有message的,直接esc然后:wq退出就行了。
然后合并分支b2,git merge -m 'b2' b2
不加-m参数还是会出现vim界面
然后b1分支的b1.txt和b2分支的b2.txt都合并到了主分支里面去了
后来自己试了下出现了问题,切换分支时,把主分支创建的文件带到了其他分支,我们应该先commit然后在切换其他分支。
https://blog.csdn.net/weixin_42436131/article/details/100043976
5. 通过 git branch -d
2.git合并分支时冲突解决
假设现在有两个分支,我们在主分支下修改b1.txt,然后在b1分支下修改b1.txt,合并时就会出现问题。
我们现在主分支下添加一句话
记得commit
然后在b1分支添加一句话,先切换到b1分支
继续提交
然后切换到主分支然后合并时就会报错,主要的原因就是在两个不同的分支下修改同一commit过的文件导致的
解决方法
手动merge
打开b1.txt可以看到git尝试自动合并,但是有冲突。
手动更改
手动更改后提交,会发现出错了。
这里可以加个-i参数解决这个问题,注意-m后面是b1.txt打错了!!!
但是这个-i是什么意思呢,我们输入一下命令看一下手册git help commit
可以看到这个-i是提交时完成了冲突合并时用到的