【发布时间】:2017-01-21 04:44:48
【问题描述】:
我有一个远程 git 仓库,有近 1000 次重度提交,即:
C1 -> C2 -> C3 -> ... -> C949 -> C950 -> ... -> C1000
最近,我发现在提交 C950 中,我在 repo 中添加了大型二进制对象。我使用git filter-branch --index-filter 命令删除了本地存储库中的文件。现在我的本地存储库如下所示:
C1 -> C2 -> C3 -> ... -> C949 -> C1001 -> ... -> C1051
我知道我可以撤消在远程存储库上的提交,然后推送更改。但是对于我的大型提交,我想确保以最有效的方式将我的更改推送到远程存储库。
更新 1: 到目前为止,很明显我应该在远程存储库上使用 push-force。但关键是我的远程仓库不允许 nonFastForward 合并。有没有其他方法可以解决这个问题?
【问题讨论】:
-
您花费的时间已经超出了您可能节省的时间。只需强制推送新提示,如果 git 发送一些重复的流量,那是因为在一般情况下检测它需要更多的时间和流量,而不是在少数可以消除它的情况下节省。
标签: git version-control git-branch git-push