git pull自动强制更新而不做任何更改

时间:2018-06-05 02:57:43

标签: git git-pull

我正在使用git svn镜像系统,或多或少基于these blogs,它的工作没有任何问题。从具有git svn dcommit的开发人员计算机提交到主存储库并从git-svn镜像中提取,所有工作都无需从svn或git中重新提取任何更改。

但是,拉动时,我看到了我从未见过的奇怪的东西:

$ git pull
From server:repository
 + 10cc435f163...953f9564671 trunk      -> origin/trunk  (forced update)
Already up to date.
$

现在首先我没有添加--force命令行选项,也没有做任何改变,就我所见(git哈希的提交等)。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

默认情况下,提取引用如下所示:

[remote "origin"]
        url = ...
        fetch = +refs/heads/*:refs/remotes/origin/*

" +"只是意味着远程跟踪引用总是被强制更新。这是有道理的,因为(我想,你可能会找到官方位置的git作者)他们不应该引用任何本地创建的代码,如果有一些本地分支会引用它。

有人已将远程trunk重置为已经合并到本地的提交,因此无需合并。例如,它可以重置为先前的提交。您可以通过命令检查新旧远程trunk之间的区别:

git log --graph 10cc435f163...953f9564671