如何使git怪罪与从一个仓库转移到另一个仓库的文件相关?

时间:2019-02-23 04:55:50

标签: git bitbucket

我经常想问问写函数的人一个问题,但是现在我不得不回过头来参考档案单仓库,因为原始历史全部属于“错误地”移动文件的那个人。 (只是用引号引起,因为除了git怪,我看不到其他任何问题)

从文件的原始回购中保留git blame信息非常有用。这可能吗?自从将原始副本复制到另一个存储库以来,已经进行了许多提交和重构。旧的回购是有用的存档单回购参考,目前尚未使用。

我认为,如果原先的举动是通过用新的回购地点覆盖原点/原件来完成的,那将是可能的,因为我之前已经这样做过,并且保留了历史。但是,既然已经完成了很多工作,我不知道如何解决该问题。

潜在想法:

  1. 克隆或工作树档案单仓库
  2. 从用于启动新存储库的档案存储库中查找具有所需历史记录的准确提交
  3. 签出新分支restore_blame进行合并工作
  4. 更改原点/主遥控器以指向新的仓库
  5. 我相信这里唯一的选择是将master重新设置到分支restore_blame上?合并不会恢复原来的git怪吗?

我相信重新调配大师会引起很大的警告,因为它会完全破坏每个分支机构,不是吗?这违反了重新设置基础的黄金法则,不要为其他已经开始工作的分支重新设置基础。我认为,如果我们所有人都同意并做到这一点,那将是可行的,但是永远不会有一个好时机去做。有没有更安全的方法可以在不破坏所有人的情况下找回责任历史?

1 个答案:

答案 0 :(得分:0)

一种方法:使用git replace

  • 将旧仓库添加为远程仓库
  • 获取
  • git replace [first new commit] [old matching commit]