Q: 工程Foo包含其他工程(例如公用库等), 但都知道的原因不要copy-paste, how?
A: cd Foo, git submodule add 就是在你Foo Repo目录下clone一个你需要的库, 只是命令从git clone变为git submodule add来确保是子引用,
同时目录下会多一个.gitmodules的文件用来标识Repo引用
Q: 其他人git clone 会发现.gitmodules和引用的工程的文件夹! 注意, 这里是只有文件夹被clone下来, 但里面的是空的, 怎么做?
A: cd Foo
git submodule init(仅执行一次)
git submodule update(每次都要用到, 确保其他人的修改同步过来)
如果你有权限, 该submodule依然是可以修改提交的, 进入该submodule目录后, 所有的git均参考当前Repo, 完全不理会上层Repo
阅读(945) | 评论(0) | 转发(0) |