项目布局:git的基准公共目录/回购
/project_a
/shared
/project_b
/shared
/shared
project_a和project_b都需要包含的共享文件夹。使用svn,我们使用了svn:externals并且工作正常,因为svn可以引用subdirs(也有相对路径)。但是,我们转向git,它似乎不支持检出子目录。
我们现在的解决方案是将project_a,project_b和shared分别放在不同的git仓库中,并在project_a和project_b中使用git子模块。然而,这看起来比用svn:externals的单一svn回购复杂得多。在git中处理常见元素的正确方法是什么?
编辑: 共识是submodules是要走的路。但是使用它一天,它似乎非常不友好的使用。
共享进行更改到文件后,我必须:
- 提交共享
- 推变化中的份额变化
- 在父目录 再次添加共享目录
- 推父目录
与svn中的单个提交相比,这看起来更复杂。而错过其中的一个步骤会导致巨大的版本控制混乱。我在这里错过了什么吗?
感谢您的详细解答VonC。不得不跑4步对我们来说是一个破坏者,回到svn就是了 – phillee 2010-04-25 19:51:09