git拉动自动强制更新无变化

git pull automatic forced updated without changes

我正在使用 git svn 镜像系统,或多或少基于 these blogs,它可以正常工作。从具有 git svn dcommit 的开发人员机器提交到主存储库并从 git-svn 镜像中拉取,所有工作都无需从 svn 或 git.[=15= 重新拉取任何更改]

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

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

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

这里发生了什么?

默认情况下,获取参考如下所示:

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

“+”仅表示远程跟踪引用始终强制更新。这是有道理的,因为(我猜,你可能会联系 git 作者以获得官方职位)他们不应该引用任何本地创建的代码,如果有一些本地分支会引用它。

有人已将远程 trunk 重置为已合并到本地提交的提交,因此没有要合并的内容。例如,它可以重置为以前的提交。您可以通过以下命令检查新旧遥控器 trunks 之间的区别:

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