【发布时间】:2015-12-20 19:40:53
【问题描述】:
Perforce 有一个 branch mapping 的概念,您只需在其中定义不同路径之间的映射。
您可以保存以下分支映射
//depot/proj1/path1/... //depot/proj1/path1-renamed/...
完成此映射后,可以在两个分支中继续开发,并且可能会不时发生基于映射的合并。
在 git 中我有类似的“重命名”和独立的分支开发,但我仍然想不时将更改从一个分支合并到另一个分支。
#desired in git
//https://github.com/mucommander/mucommander-commons-io/tree/master/src/main/java/com/mucommander/commons/io //https://github.com/mucommander/mucommander-commons-io/tree/master/src/main/java/com/mucommander/commons/io2
我该怎么做? git 中的 perforce 分支映射等价物是什么?
【问题讨论】:
-
Git 中没有等效的行为。您可能需要一个符号链接。
-
我没想到会这样。我正在研究在集成到主服务器之前和之后使用重命名的解决方案。基本上我将映射创建为一组
git mv <path1> <path2> -
我确实理解你想要做什么,而且我能告诉你的是,我不相信 Git 支持这一点。您应该将 path2 符号链接到 path1 并进行更改。
-
符号链接的问题是我无法将历史从一个分支共享到另一个分支。通过重命名后合并,我可以获得历史记录以及一些关于来回重命名的不需要的细节。如果并且当我有一个可行的解决方案时,我会将其描述为一个答案。谢谢@meagar
-
如果你只想拥有 path1 和 path1-rename 只需创建一个分支并重命名目录(新分支中的 git mv)。
标签: git perforce branching-and-merging