过滤了我本地 git 存储库中的所有提交,更新远程的最佳方式?

Filtered all commits in my local git repository, best way to update remote?

我 运行 一个过滤器,将我所有修订版中的所有文件转换为 Unix 行尾。我现在看到 git 声明我的本地和远程的所有修订都不同。 Git 状态告诉我进行拉取和合并。用我的本地提交替换所有远程提交的最佳方法是什么?

您需要用力推动。现在 "best" 的方法是使用 --force-with-lease 来确保自从您上次从远程存储库中获取所有内容后,没有其他人更新过远程存储库。如果它是私有(或大部分私有)存储库,当然,没有其他人应该更新它,您可以使用常规的强制推送。

(强制推送的缺点是,如果它成功了,它会让其他 Git 使用您提供的新提交 ID 覆盖 its 分支名称它。这会丢失所有旧的提交...所以任何使用并依赖它们的人现在必须在 他们的 远程克隆中处理这个问题。在这种情况下,你真的 想失去所有那些旧的提交,所以这是一个问题,是否有其他人正在使用它们,如果是,你是否关心其他人。)