因此,对git进行所有更改的命令是git add -A
。
有没有办法从存储库子目录中执行此操作,并捕获存储库中任何位置的所有更改,而无需将目录更改回repo根目录?
示例:
$pwd
/reporoot/
修改文件:/ reporoot / a-file
$cd /a-subdir
$git 'magic variation of add -A which I'm looking for'
将对/ reporoot / a-file的更改进行暂存。
我发现我经常在终端的一个地方,但是在IDE的其他地方编辑文件,所以这个问题的答案将是避免大量cd的有用方法。
答案 0 :(得分:8)
使用以下内容(仅适用于较新版本的Git):
git add $(git rev-parse --show-toplevel)
您可能希望create a Git alias以便更轻松地运行它。
请注意,如果您计划提交,执行以下操作将暂存已在工作树中的所有已更改文件(即,不是未跟踪的文件):
git commit -a
答案 1 :(得分:7)
您正在寻找
git add -u
,请看这里的好解释
Difference between "git add -A" and "git add ."
或手册
http://git-scm.com/docs/git-add
。如果你打算下一步提交,请使用Andrew提到的git commit -a
。