Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包括子项目并将其最初合并到git存储库中_Git - Fatal编程技术网

包括子项目并将其最初合并到git存储库中

包括子项目并将其最初合并到git存储库中,git,Git,考虑包含以下三个文件夹的项目结构 web(包含web前端) 后端(包含一个web后端) 文档(包含文档) 虽然文档只是包含一些文件的常规文件夹,但web和后端文件夹应该引用一些外部git存储库的根。我想处理我的存储库,然后将web和后端的更改推送到相应的存储库中 问题1) 存储库和相关的两个存储库仅由我和我的团队使用。您打算使用什么,子树还是子模块?我仍然不明白它们之间的区别和后果是什么(除了使用子树时的一些更复杂的push命令和许多人说应该不惜一切代价避免使用子模块) 问题2) 我的存储库

考虑包含以下三个文件夹的项目结构

  • web(包含web前端)
  • 后端(包含一个web后端)
  • 文档(包含文档)
虽然文档只是包含一些文件的常规文件夹,但web和后端文件夹应该引用一些外部git存储库的根。我想处理我的存储库,然后将web和后端的更改推送到相应的存储库中

问题1)

存储库和相关的两个存储库仅由我和我的团队使用。您打算使用什么,子树还是子模块?我仍然不明白它们之间的区别和后果是什么(除了使用子树时的一些更复杂的push命令和许多人说应该不惜一切代价避免使用子模块)

问题2)


我的存储库中的文件夹总是包含一些内容。如何为文件夹创建子模块/子树,并将新的子模块/子树与已有的内容合并?

我也读了很多关于子模块不好的文章,所以我选择了子树。老实说,这不是一次美好的经历。但是我写了几个脚本来简化事情,所以我做了一些类似于
/pull shared
/push shared
的事情来处理难看的语法和指令序列。对于问题2,在更糟糕的情况下,只需重命名目录subtree init,然后覆盖该目录。在我看来,子模块和子树都不错。这两种方法都是实现某些事情的有效方法,而且都涉及一定数量的额外复杂性,有时很难做到正确。我认为从长远来看,在这个特定的场景中,子模块可能是一条可行之路,但您需要花一些时间来了解其中的含义,找出正确的处理程序,并从一开始就理解其中涉及的额外复杂性。