git中 commit 和 pull 的先后顺序问题会产生多余的merge记录

Posted 南风晚来晚相识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git中 commit 和 pull 的先后顺序问题会产生多余的merge记录相关的知识,希望对你有一定的参考价值。

commit 和 pull 的先后顺序问题

最近提交代码,发现一个问题。
自己很清楚的记得本次的提交是没有进行合并的。
奇怪的死 gitlab中的 history 历史中显示了我对本次进行了Merge合并操作。
并且 Merge合并操作中显示了很多不是本次对代码的修改。
这就很明显了, git自动生成的merge操作

怎么处理 git自动生成的merge

要处理这个git自动生成的merge也很简单。
我们只需要先 pull后commit就行了。
全部操作如下:
git add .
git pull origin 你的远端分支名称入:dev
git commit -m \'你本次的提交记录\'
git push origin 你的远端分支名称入:dev

这样操作git就不会生成多余的merge。

我之前的操作方式会产生多余的merge

git add .
git commit -m \'你本次的提交记录\'
git pull origin 你的远端分支名称入:dev
git push origin 你的远端分支名称入:dev
我之前是这样操作的。
所以会从产生多余的 merge

git pull和冲突的解决

git pull把所有相关联的分支(本地+远程)全部更新了
git pull会把本地的修改覆盖,如果本地没有提交的话,如果提交了commit, 那就不能覆盖了

git pull remote-name branch-name就是指更新这个分支到本地当前分支

 

Your branch is ahead of ‘origin/abc‘ by 3 commits.
  (use "git push" to publish your local commits)
本地分支比远程origin/abc 提前了3个提交
本来本地和远程是一样的,本地经过修改并commit但没有push
所以说多了3个commit
同样的思路适用于behind origin/abc by xxx commit
落后了就是要pull了。

冲突是怎么回事呢?
当提示有冲突的时候,本地的编辑器上会有提示,然后打开本地编辑器,按照提示删掉一部分有冲突的内容,就好了。

 

以上是关于git中 commit 和 pull 的先后顺序问题会产生多余的merge记录的主要内容,如果未能解决你的问题,请参考以下文章

git 要commit之前先pull, 这样做法合理吗?

Git commit/pull/push的操作步骤

git pull之前要先commit

Goland——git使用新branch commit and pull

Git关于pull,commit,push的总结

如何用git reflog和git cherry-pick找回已删除的commit记录