Git分支具有不同的目录结构

时间:2018-07-05 16:01:34

标签: git git-merge git-diff git-config

我有带有分支机构主,测试和开发人员的ABC存储库。

主目录结构具有:

  • folder1
  • folder2
  • folder3
  • ...
  • .gitignore
  • README.md

test分支具有类似的结构:

  • test.folder1
  • test.folder2
  • test.folder3
  • onlytestfile.txt
  • ...
  • .gitignore
  • README.md

开发分支具有类似的结构:

  • dev.folder1
  • dev.folder2
  • dev.folder3
  • onlydevfile.txt
  • ...
  • .gitignore
  • README.md

所有分支在文件夹内的内容完全相同。提交和更改首先要进行开发,然后合并到测试中,然后合并到母版中。问题是如何在文件夹名称结构不同的分支之间合并这些文件?

1 个答案:

答案 0 :(得分:1)

  

问题是如何在分支之间合并这些文件夹名称结构不同的文件?

您将目录重命名以匹配,提交然后合并。

这不是可行的工作流程,也不是对分支机构的有效利用。

由于分支机构已经将您的开发,测试和生产版本分开,因此无需更改目录名称。在所有分支中使用相同的名称命名,问题就消失了。


对于onlytestfile.txtonlydevfile.txt,您不能从合并中排除文件。您必须合并所有内容。因此,您要么必须先删除它并在合并之前提交,要么git merge --no-commit自己手动删除文件(不可避免地会忘记这样做),或者想出一个更好的策略。我建议最后一个。

我认为这是配置信息。有多种更好的策略可以为多个环境和I lay one out in this answer存储配置。