【问题标题】:Merging git repositories and preserving history合并 git 存储库并保留历史记录
【发布时间】:2013-12-31 15:54:52
【问题描述】:

我一直在项目存储库中使用 symfony1 插件存储库,使用 git-subtree,但我不能总是看到我的历史记录。

基本上,插件项目有一个composer.json文件 我将插件合并到plugins/MyPlugin 子树下。

当我做git log 时,我可以看到历史记录。但是,当git log -p plugins/MyPlugin/composer.jsongit log plugins/MyPlugin/composer.json 执行时,我只看到一个合并提交。为什么?

但也许 subtree 并不是真正的正确工具。我想做的是完全忘记插件存储库,并假装它的提交实际上发生在项目存储库中,修改 plugins/MyPlugin 目录中的文件。

编辑好的,我通过使用filter-branch 重写插件历史并将结果合并到项目存储库中解决了我的问题。第一个问题仍然存在。为了科学。

【问题讨论】:

    标签: git git-subtree


    【解决方案1】:

    单个合并提交还不错。使用 --squash 来避免你的历史被库历史淹没。

    关于git log,见:https://stackoverflow.com/a/22218022/1270965

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-28
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多