文件修改后,通過git add來暫存之前修改的內(nèi)容
$ git add -A .
然后再次執(zhí)行git status
時,卻提示no changes added
$ git status
On branch coding-pages
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: themes/next (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
遇到這種問題只好google一番:
如果你想執(zhí)行g(shù)it add -A绽族,那在每個子模塊中庶喜,你應(yīng)該:
$ git submodule foreach --recursive git add -A .
然后泡仗,你要在每個子模塊中創(chuàng)建一個commit
$ git submodule foreach --recursive "git commit -m 'Committing in a submodule'"
這樣你就可以git add番甩,git commit了。
在 stackoverflow 上說并不推薦這種做法盼玄,應(yīng)該每一個子模塊被看成是一個獨立的庫來處理贴彼。
使用git add -A .
命令是直接添加了git庫,而不是添加git子庫。這個問題通常出現(xiàn)在你想添加其他git庫的文件到你自己的庫并直接使用git add
命令去暫存它埃儿,如果換成git submodule add <REPOSITORY-URL>
則可避免此情況發(fā)生器仗。如果說你很想將其用submodules的方式儲存的話,我強烈建議你在將其移除出你的庫童番,并提交刪除精钮,重新用git submodule add
的方式添加。
附上鏈接:git add -A is not adding all modified files in directories