01新建用户分支-合并分支

git提交代码的基本步骤

git add .
git pull 远端分支
git commit -m "" 一定要有空格哈
git push

合并分支

将dev代码合并到master。
切换到master分支。git checkout master 切换到主分支  (保证master是新的)
git merge dev(分支名) 合并dev分支到master

git pull会产生的问题

git pull会自动合并代码,从而产生merge。

git pull合并代码的场景


刚开始我其实是很懵的,
从始至终我其实都没有打过一个 Merge 命令,
但是从结果日志来看那几个Merge 的操作确实是我做的,
这就令我非常的不解了

我的业务场景如下:
我在本地分支开发完成了我功能的开发,
现在需要合并到 dev 分支上,
于是我在 dev 分支上执行 git cherry-pick 操作将我的代码剪切到 dev 分支上,
因为我要避免有人更新过 dev 分支,因此我在此之前先执行了一下 git pul1 ,
出现了一个 Merge 的窗口,

git pull 的详细说明

git pull 是一个组合操作,相当于 git fetch + git merge
如果我们执行git pull,相当于我们先执行git fetch,然后又执行了git merge.
因为执行了git pull,所以提交记录中有merge的操作记录,这下真相大白了。

ps:在git pull之前其实,本地的代码与远端的代码其实是有落后的。

解决方案 git pull --rebase

我们使用 git pull --rebase  origin dev   来进行合并本地和远程分支。
既可以完美解决这个问题。
git pul1 --rebase 其实也是一个组合操作,
其会执行 git fetch + git rebase是解决代码记录凌乱的一个大杀器。
这样就可以完美的解决!

示例代码

李四在某一个分支dev上开发。
这个本地dev其实已经落后与远端的分支了。
李四把功能完成后,需要推送到远端分支去。

李四的正确操作
git add . 【添加】
git commit -m'描述' 【这个时候需要先commit在pull】
git pull --rebase origin dev 【拉取远端的代码】  
如果没有冲突的话。直接git push

如果执行git pull --rebase origin dev 有冲突。
先使用vscode选择需要哪一部分的代码,然后解决冲突。
ps:【此时不要点击小乌龟的解决冲突 】
然后执行 git rebase --continue。而不是commit。
此时执行 git rebase --continue后,会出现vi这个编辑器。
输入冒号和wq,==>:wq 就可以退出来了
最后执行git push

ps:git rebase --continue 保存冲突解决的状态。
注意这时候不能使用 it commit 了

git log --graph

git log --graph 更加清晰的结构查看log 记录
posted @ 2019-11-12 23:31  南风晚来晚相识  阅读(181)  评论(0编辑  收藏  举报