Dou*_*ock 1 git shell git-submodules
我正在重新组织我的点文件并具有以下目录结构:
\n\ndotfiles\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .vim\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 colors/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ftplugin/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pack/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my_plugins/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 opt/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 nerdtree/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 vimwiki/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 start/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 fugitive/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 syntastic/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 vimade/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 vim-css-color/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 vimrc\nRun Code Online (Sandbox Code Playgroud)\n\n有 6 个目录是 github 存储库,并且已经克隆到它们的目录中。
\n\n我现在想要控制整个 dotfiles 目录版本。\n如何添加这六个.../.git存储库作为子模块添加到顶级存储库,而无需重新克隆包。
请注意,这里提出了类似的问题,但给出的说明不清楚。\n我需要的是逐步解决方案,将整个 .vim 目录添加到顶级存储库。
\n这是一个逐步过程:
\n# dotfiles directory is current directory\ngit init \n\n# Add already cloned repos\ngit submodule add <github-repo1-link> <path-to-already-cloned-repo1>\ngit submodule add <github-repo2-link> <path-to-already-cloned-repo2>\n.\n.\n.\n\n# Add other files for staging\ngit add .\n\n# Commit the changes\ngit commit\nRun Code Online (Sandbox Code Playgroud)\n正如子模块的 git 文档中提到的,子模块的 add 命令将路径作为可选参数。
\ngit submodule add <repository> [<path>]\nRun Code Online (Sandbox Code Playgroud)\n\n\n可选参数
\n<path>是克隆子模块在超级项目中的相对位置。如果<path>未给出,则使用源存储库的规范部分(“repo”代表“/path/to/repo.git”,“foo”代表“host.xz:foo/.git”)。如果<path>\n存在并且已经是有效的 Git 存储库,则将其暂存\n以进行提交,而不进行克隆。除非使用--name<path>来指定逻辑名称,否则还用作子模块\xe2\x80\x99s\n其配置条目中的逻辑名称。
| 归档时间: |
|
| 查看次数: |
3733 次 |
| 最近记录: |