【问题标题】:Can we use/pick-up commit of one program into another similar program?我们可以使用/提取一个程序的提交到另一个类似的程序吗?
【发布时间】:2021-10-29 04:09:34
【问题描述】:

我有两个相似的程序(具有几乎相同的文件层次结构),但有一些区别,它们都是独立的 bitbucket 存储库。我在第一个程序中添加了一些功能,想知道在第二个程序中使用它的提交来重现相同的功能吗?

这可能是一个愚蠢的想法,因为程序是分开的,但我是这样想的,因为我修改过的文件在两个存储库中具有完全相同的层次结构。这样做是否可行?或者我必须手动复制/粘贴更改...

更新:

正如 Enrico Campidoglio 在评论中所建议的,解决此问题的方法之一是使用此处提到的 diffformat-patchCreate patch or diff file from git repository and apply it to another different git repository

【问题讨论】:

标签: git repository bitbucket commit


【解决方案1】:

您应该通过以下方式导出每个提交:

git format-patch -{NUMBER_OF_BACKWARD_COMMITS} {STARTING_COMMIT_HASH} --stdout > diff.patch

然后通过以下方式将补丁生成的文件应用到其他存储库

git am < diff.path.

【讨论】:

  • 你能解释一下NUMBER_OF_BACKWARD_COMMITSSTARTING_COMMIT_HASH这两个论点吗?我有一个连续的提交列表来申请另一个 repo...
  • 您必须记下您要导出的最后一次提交的哈希 (STARTING_COMMIT_HASH) 以及在此之前要包含多少次提交 (NUMBER_OF_BACKWARD_COMMITS)。
  • 我使用了format-patch,它工作正常。有没有办法在单个提交历史记录中修补 diff.patch,而不是记录在创建补丁期间使用的所有提交?
  • 如果我记得的话,你应该删除 --stdout > diff.patch 以便为你选择的历史的每个提交获取一个单一的补丁文件。
猜你喜欢
  • 2021-12-18
  • 2020-12-30
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多