git pull总是导致合并

时间:2015-12-24 12:36:19

标签: git

我遇到一个问题,每当我在生产服务器中运行git pull时,都会导致合并。

如果我运行git status,我会得到以下输出:

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 351 commits.
#   (use "git push" to publish your local commits)
#
nothing to commit, working directory clean

好的,所以有351个本地提交。但是git diff并没有显示任何局部变化:

$ git diff origin/master..HEAD
(no output)

如果我使用git log origin / master..HEAD,我只会看到" Merge branch' master'之类的消息。 of ****"。

关于如何摆脱那些似乎毫无用处的351个本地提交的任何想法?

4 个答案:

答案 0 :(得分:4)

首先,为了以防万一,让我们创建当前分支的备份:

git branch master-bak

如果git diff origin/master..HEAD提供空输出,则表示您当前的分支与origin/master具有相同的内容。在这种情况下,您只需将本地分支重置为与origin/master相同的状态:

git reset origin/master

答案 1 :(得分:0)

我想在你最后一次拉远程主机后,原点/主机有一些恢复原因。如果您想与远程主服务器保持同步,只需删除本地主服务器并创建新服务器。

git checkout another branch
git branch -D master
git checkout -b master
git pull origin/master 

答案 2 :(得分:0)

显然你不是一个人工作所以有人强迫推(你的本地回购与远程有不同的历史记录),之后其他所有人都应该做normal,以保持与原点相同的历史/主。

答案 3 :(得分:0)

当git status表示你的分支在351提交之前超过'origin / master'时,它实际上意味着origin / master。 简单地说它意味着你的仓库中有一个名为origin / master的指针,指向该远程分支的HEAD的提交,并且你的master在这个commit之前。所以当你运行git pull时,你的本地更改也会合并。在这种情况下,您需要在合并后签出新分支或再次提交。