Git模块最佳实践
我将我的项目切换到多个子存储库,并将这些存储库作为git模块包含到主项目中 这是我的Git模块最佳实践,git,git-submodules,Git,Git Submodules,我将我的项目切换到多个子存储库,并将这些存储库作为git模块包含到主项目中 这是我的.gitmodules文件: $ cat .gitmodules [submodule "packages/myproject-lib"] path = packages/myproject-lib url = git@git.example.com:rislab/myproject-lib.git [submodule "packages/myproject-language-pack"]
.gitmodules
文件:
$ cat .gitmodules
[submodule "packages/myproject-lib"]
path = packages/myproject-lib
url = git@git.example.com:rislab/myproject-lib.git
[submodule "packages/myproject-language-pack"]
path = packages/myproject-language-pack
url = git@git.example.com:rislab/myproject-language-pack.git
每次我在其中一个模块中更改某些内容并签入这些更改时,git都会在主存储库中显示一些未过时的更改,如下所示:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: packages/myproject-lib (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
$
$git状态
论分行行长
您的分支机构是最新的“原始/主”分支机构。
未为提交而暂存的更改:
(使用“git add…”更新将提交的内容)
(使用“git签出--…”放弃工作目录中的更改)
修改:包/myproject库(新提交)
未向提交添加任何更改(使用“git add”和/或“git commit-a”)
$
这很烦人,虽然我有点明白git为什么这么做。但由于我是子包的开发人员,我并不想让git告诉我git模块中的项目发生了什么变化。这基本上意味着,如果我想在我的主要项目中保持一个干净的状态,我必须提交那个变更
有没有一种方法可以忽略GitModule中的更改,这样我的git状态就可以显示我的主项目中的一切正常
我在ddg'ing(duckduckgoing)的时候什么也没找到,还尝试了谷歌。因此,他的建议也没有给我指出正确的答案。很多人会说,子模块的最佳实践是不使用它们。不要使用子模块。