gpt4 book ai didi

Git "force push"从新的本地 repo 到远程,但保留远程提交历史

转载 作者:太空狗 更新时间:2023-10-29 14:23:47 38 4
gpt4 key购买 nike

我有一个正常运行的网站,我确信它有每个文件的最新、正确版本,而不是用 Git 管理的。我还有一个 Bitbucket Git 存储库,表面上是该站点的存储库,但其中存在重大问题和过时的内容。

我想做什么 git init 实时文件,然后以某种方式将它们推送到远程,以便最终的远程 HEAD 状态与我的实时文件的状态完全一样,但是 也让远程提交历史保持完整。

我想这样做,以便事件的工作树永远不会处于不同的状态。我想过创建一个新分支,远程 pull 出主分支,然后强制 merge 它们或其他任何东西,但据我所知,我将不得不检查主分支并在那些短暂的时刻弄乱实时文件在 merge 之前和期间,假设一切正常。

我还想过将文件通过 FTP 传输下来,在我的本地计算机上解决所有冲突/merge ,然后从那里推送到 Bitbucket 并下 pull 到实时存储库。但这也让人觉得不可靠且有风险。

我知道我永远不应该像这样操纵实时代码,但这是我陷入的情况,我只想以最简单/最安全的方式让它工作。

(我确定这是一个重复的问题,但我的 Google-fu 让我失望了;在引导我查看之前的答案时请保持温和。)

最佳答案

试试 git merge -s。

git merge -s ours origin/remote_branch

这解决了任意数量的头,但 merge 的结果树始终是当前分支头的树,有效地忽略了所有其他分支的所有更改。它旨在用于取代侧分支的旧开发历史。

关于Git "force push"从新的本地 repo 到远程,但保留远程提交历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941454/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com