如何使用repo子目录暂存git中的所有更改

Sha*_*hko 3 git

因此,对git进行所有更改的命令是git add -A.

有没有办法从存储库子目录中执行此操作,并捕获存储库中任何位置的所有更改,而无需将目录更改回repo根目录?

例:

$pwd
/reporoot/
Run Code Online (Sandbox Code Playgroud)

修改文件:/ reporoot/a-file

$cd /a-subdir

$git 'magic variation of add -A which I'm looking for'
Run Code Online (Sandbox Code Playgroud)

并且将对/ reporoot/a-file的更改进行上传.

我发现我经常在终端的一个地方,但是在IDE的其他地方编辑文件,所以这个问题的答案将是避免大量cd的有用方法.

And*_*all 9

使用以下(仅适用于较新版本的Git):

git add $(git rev-parse --show-toplevel)
Run Code Online (Sandbox Code Playgroud)

您可能希望为此创建一个Git别名,以便更轻松地运行它.

请注意,如果您计划提交,执行以下操作将暂存已在工作树中的所有已更改文件(即,不是未跟踪文件):

git commit -a
Run Code Online (Sandbox Code Playgroud)


Ech*_*tor 7

你正在寻找 git add -u,在这里看到很好的解释 "git add -A"和"git add"之间的区别. 或手册 http://git-scm.com/docs/git-add .如果你打算下次提交,请git commit -a按照安德鲁提到的那样使用.