【问题标题】:Git - How do I stop files from being considered for merging?Git - 如何阻止文件被考虑合并?
【发布时间】:2018-02-08 14:21:06
【问题描述】:

我们的项目有一个开发分支和许多功能分支,我们会定期将它们合并到开发分支中。有时在功能分支上工作时,我想访问其他分支中的类(开发分支中的代码),但我不想将开发分支合并到我的功能分支中。

有没有办法在不跟踪的情况下将 dev 分支提取到我的功能分支中?

假设,如果我不小心将 dev 分支合并到 feature 分支中(我不小心这样做了),有没有办法在将 Geature 合并到 dev 时排除其他分支中的代码不考虑合并?

谢谢

【问题讨论】:

  • 为什么不采用您想要使用的功能分支并在更新 dev 后合并到您的代码库中?
  • 在我更新了 dev 之后?做什么的?如何?现在我已经将开发合并到功能中。什么意思?
  • 你说你想从他们的一个特性分支中使用另一个成员类?为什么不将那里的分支合并到你的分支中?
  • 因为我希望我的分支是纯的?如果我想将我的分支(与他们的代码)合并到 dev 分支中,并且 dev 分支包含的提交与我合并到我的分支中的提交不同,我该怎么办?

标签: git merge version-control


【解决方案1】:

有没有办法在不跟踪的情况下将 dev 分支提取到我的功能分支中?

如果您从 Git 用于跟踪更改的数据模型的角度考虑这个问题,将会有所帮助。

如果您还没有,请查看Git for Computer Scientists,它很好地说明了基础知识。

本质上,合并是具有多个父级的提交。要将一些内容从一个分支获取到另一个分支,您需要创建一个新提交,其中包含来自两个分支的内容,有两个父级(合并)或一个(常规提交;数据是“手动”复制的)。

假设,如果我不小心将 dev 分支合并到 feature 分支中(我不小心这样做了),有没有办法在将 Geature 合并到 dev 时排除其他分支中的代码不考虑合并?

可以恢复合并(只需使用git revert SHA1-OF-MERGE-COMMIT),但这无助于为将来的合并解决冲突,因此最好一开始就避免它。

有基于补丁理论的较新版本控制系统确实允许执行您所询问的事情(Darcs 和 Pijul),但这不是 Git 的工作方式。

【讨论】:

  • 不是我正在寻找的答案,但它会做。谢谢。
猜你喜欢
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2018-02-28
  • 2016-05-22
  • 2013-08-05
  • 2021-07-11
相关资源
最近更新 更多