【问题标题】:How Can I replace/copy all file and folder from one branch to another existing branch in GIT如何将所有文件和文件夹从一个分支替换/复制到 GIT 中的另一个现有分支
【发布时间】:2019-07-23 13:07:07
【问题描述】:

我有 3 个分支 -> Masterdevelopadmit_card。我之前从develop 分支创建了admit_card。我总是对admit_card 分支进行更改并将其合并到develop

但突然间,我更改了更多文件,并从develop 分支中删除了文件夹。现在我想复制/保持更新到admit_card 分支,如develop 分支(通过删除文件夹和文件)。

我将它与develop 分支合并。它正在与develop 分支正确合并。但问题是我从develop 分支删除的文件夹和文件仍然显示在admit_card 分支中。

这是带有admit_card 分支的合并开发分支。

git checkout admit_card
git merge develop

请问我该怎么办?如何将确切的 develop 分支复制/替换为 admit_card 分支?有人可以帮帮我吗?

谢谢

【问题讨论】:

  • develop 尝试cherry-pickadmit_card
  • @SubrataMondal 感谢您的帮助。我试过樱桃采摘。但它显示了这个错误。 错误:以下未跟踪的工作树文件将被合并覆盖: Files..... Aborting fatal: cherry-pick failed after using this command git checkout admit_card git cherry-pick -x develop
  • 首先git add .git commit -m "Before cherry pick from development" 进入admit_card。然后樱桃采摘
  • @SubrataMondal 它正在显示此消息 执行不精确的重命名检测:100% (188544/188544),完成。在分支上 admission_card 您目前正在挑选提交 5221a7b。没有什么可提交的,工作树干净 以前的樱桃选择现在是空的,可能是由于冲突解决。如果您仍然希望提交,请使用: git commit --allow-empty 否则,请在我尝试运行此代码时使用 'git reset' sudo git cherry-pick develop

标签: git git-branch git-merge


【解决方案1】:

我认为rebase 是更好的方法。

在您的 admit_card 分支上运行

git rebase develop

这实际上会将您的admit_card 分支设置为develop 分支的内容,然后在此之上回放admit_card 分支上的任何其他提交。如果您在两个分支中都触及了相同的文件,您可能会遇到合并冲突。解决合并冲突后,您的 admit_card 分支将再次成为开发分支之上的干净主题分支。

如果您遇到合并问题,请运行 git rebase --abort 以恢复原来的状态。

【讨论】:

  • 嗨@idlethead,谢谢。但我认为,这也将取代提交历史。如果我使用“rebase”,我无法回到旧的提交。对吗?
  • 你可以,使用 git reflog。在您的问题中,您问“如何将确切的开发分支复制/替换到 admission_card 分支?”变基是答案。您处于这种情况是因为您一起更改了 develop 和 admission_card 分支 - 如果您在删除某些文件之前提交了从 admission_card 到 develop 的更改,您将不会遇到这些问题。
  • 嗨@idlethead,谢谢你的建议。但我同时提交了 admission_cart 和 develop 分支。并且为了清除,是的,我想将当前状态(替换文件夹,删除文件夹和文件等)从开发分支替换为 admission_card 分支,但 admission_card 提交历史。因此,如果我需要随时返回到另一个提交,我可以转到该提交。希望你能理解我的问题。请让我知道是否有任何解决方案。谢谢
  • 您只有两个选择。使用git merge 并处理合并冲突或git rebase 并在admit_card 上重写分支历史记录。在这两种情况下,git reflog 将允许您返回旧版本。您甚至可以标记两个分支的当前状态,以便以后更轻松地检查原始版本。
猜你喜欢
  • 2016-01-12
  • 2020-07-12
  • 2015-12-10
  • 2011-02-09
  • 1970-01-01
  • 2020-10-23
  • 2021-04-23
  • 2021-09-22
  • 2018-11-27
相关资源
最近更新 更多