【问题标题】:Merge difference code changes from one repository branch to another repository branch将差异代码更改从一个存储库分支合并到另一个存储库分支
【发布时间】:2014-01-27 08:54:08
【问题描述】:

谁能帮帮我,

我的文件夹结构是这样的:

Repo1 [Repository]
 |- branch1 [branch]

Repo2 [Repository]
 |-branch1 [branch]

现在我需要将文件差异更改从Repo1/branch1 合并到Repo2/branch1

我该怎么做。我使用 git [bitbucket] 作为源代码控制。对于 GUI,我使用的是 sourcetree

谢谢,

krutik

【问题讨论】:

  • Mercurial 和 Git 是两个不同的系统。下定决心! ;)
  • 抱歉编辑了
  • 我不想将分支从一个仓库添加到另一个仓库,而是我有两个仓库 A 和 B 都包含相同的源代码,但是在仓库 A 中进行了一些更新,我想在仓库中添加B. 请注意,它们是具有相同分支的两个不同存储库,而不是同一存储库中的两个分支
  • 是的,@MaciejOczko 向您指出的问题涵盖了该案例。在 Repo2 中添加 Repo1 作为远程,获取和合并。

标签: git merge


【解决方案1】:

如果两个“repos”都是同一个存储库的分支,这实际上很容易。如果它们是完全不同的存储库,合并会有点混乱,但肯定是可能的。

基本步骤:

cd Repo2/branch1
git remote add Repo1 ../Repo1/branch1/.git
git fetch Repo1
git merge Repo1/branch1 --allow-unrelated-histories

这应该会触发一个常规的“git 合并”场景。即使两个存储库实际上是 100% 独立的,Git 仍会进行合并,但无法自动合并文件之间的任何差异。

【讨论】:

  • 这不是与 TO 想要的方向相反吗?
  • 我想确实如此,但是只需将存储库和分支名称中的“1”替换为“2”,您就会得到问题想要的结果。模式完全一样。
  • 我必须在我的 git 命令中添加 --allow-unrelated-histories 才能使其工作。
  • @HollyCummins:更新了我的答案。当我最初写这个答案时,我不记得需要那个标志。我可能只是忘记了,或者自从我发布这篇文章以来,Git 在 6 年内更改了默认设置。谢谢!
  • 谢谢,@GregBurghardt。我认为这是 git 行为的改变,而不是你的健忘!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2021-05-11
  • 2015-03-01
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
相关资源
最近更新 更多