Git - 将子文件夹初始化为单独的存储库(子模块)
Visual Studio 管理项目是一个解决方案对多个项目,所以将每个项目分拆到单独的存储库也算是合理的。
假设文件夹/解决方案名为Solution1,要推送到 <url-solution> 项目文件夹/项目名为ConsoleProject1,要推送到 <url-project1>
- 在
Solution1和ConsoleProject1中均添加一个.gitignore忽略列表,Visual Studio 的最新列表可以从 https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 获取 - 进入子文件夹
ConsoleProject1,初始化存储库,并推送到远程cd ConsoleProject1 git init git add . git commit -m "initial commit" git remote add origin <url-solution> git push -u origin master - 回到父文件夹
Solution1,添加一个.gitmodules文件,并写入以下内容[submodule "ConsoleProject1"] Path = ConsoleProject1 url = <url-project1> - 在父文件夹初始化存储库、添加、提交、推送
git init git add . git commit -m "initial commit" git remote add origin <url-project1> git push -u origin master
如果远程是 GitHub 的话,那么可以直接在 <url-solution> 里面看到子模块
别人克隆的时候:
git clone <url-solution> --recurse-submodules
参考:
浙公网安备 33010602011771号