我们的项目有一个开发分支和许多功能分支,我们定期将它们合并到开发分支中。有时在处理功能分支时,我希望能够访问其他分支的类(开发分支中的代码),但我不想将开发分支合并到我的功能分支中。
有没有办法在不跟踪它的情况下将dev分支提取到我的功能分支中?
假设,如果我意外地将dev分支合并到功能分支(我不小心做了),有什么方法可以在将geature合并到dev中时将其他分支中的代码排除在考虑合并之外?
谢谢
答案 0 :(得分:1)
有没有办法在不跟踪它的情况下将dev分支提取到我的功能分支中?
如果您从Git用于跟踪更改的数据模型的角度考虑此问题,将会有所帮助。
如果还没有,请查看Git for Computer Scientists,其中很好地说明了基础知识。
基本上,合并是与多个父级的提交。要从一个分支到另一个分支获取一些内容,您需要创建一个新的提交,其中包含来自两个分支的内容,具有两个父项(合并)或一个(常规提交;数据已复制"手动")。
假设,如果我意外地将dev分支合并到功能分支(我不小心做了),有什么方法可以在将geature合并到dev中时将其他分支中的代码排除在考虑合并之外?
可以恢复合并(只需使用git revert SHA1-OF-MERGE-COMMIT
),但这对将来合并的冲突解决没有帮助,因此最好首先避免它。
有一些基于补丁理论的新版本控制系统可以让你做一些你要问的事情(Darcs和Pijul),但这并不是Git的工作方式。