我在我的存储库上做了一个 git fetch origin。我有兴趣在名为 search-analytics 的远程分支上进行开发
在命令的输出中我看到
+ 5c2e2aa...e9ad142 search-analytics -> origin/search-analytics (forced update)
(强制更新)在这里是什么意思?这不会出现在任何其他分支上。
我在我的存储库上做了一个 git fetch origin。我有兴趣在名为 search-analytics 的远程分支上进行开发
在命令的输出中我看到
+ 5c2e2aa...e9ad142 search-analytics -> origin/search-analytics (forced update)
(强制更新)在这里是什么意思?这不会出现在任何其他分支上。
这意味着删除分支 (origin/search-analytics) 以一种撤消您已经从中提取的某些提交的方式进行了更新。换句话说,您正在处理的先前版本不仅已更新(即,在其之上添加了更多提交),而且其中一个或多个已被删除/重做。
我认为那条线意味着有人执行了强制推送,强制推送发生如下:
# Change example.file
git add example.file
git commit example.file -m "I'm commiting this file"
git push origin search-analytics
# Realize you screwed something up and don't want anyone to see it
# Change example.file again, or any file really
git add example.file
git commit --amend
# Amends the previous commit, as if the changes you just made,
# were originally in it
git push origin search-analytics
# The push fails because you amended a commit you already pushed
git push origin search-analytics --force
如果您在强制合并后遇到问题(即您在推动之间拉入),这里是如何重置分支的解释(几乎是唯一的解决方案)