私は次の木を持っています:
Staged:
foo
foo/a.txt
foo/b.txt
Unstaged:
foo/c.txt
私git add foo/c.txt
とgit commit -a
私がviで次のことを確認した場合:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: foo/a.txt
# modified: foo/b.txt
# new file: foo/c.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# foo/
何かが足りないのではないかと恐れているので、コミットを取り消すとgit add -A; git commit
、viで次のように表示されます。
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: foo/a.txt
# modified: foo/b.txt
# new file: foo/c.txt
これは正常です。
編集
foo/
私の中.gitignore
foo/a.txt
にfoo/b.txt
はなく、もともと上演されていませんでした。git commit -a
foo/
シンボリックリンク、ファイル、または別のリポジトリではなく、それらを追加しました
なぜfoo/
最初は追跡されずに表示されるのですか?ここでいくつかのキーストロークを保存しようとしています。
問題を複雑にするために、これは時々再現可能です。私は走っていますgit version 1.7.7.5 (Apple Git-26)
もっと編集
次のコマンド:
git init foo
cd foo
mkdir bar
cd bar
touch 1
touch 2
cd ..
git add -A
git commit
echo 1 >> bar/1
echo 2 >> bar/2
git commit -a
私のエディターで次のステータスを生成します。
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: bar/1
# modified: bar/2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# bar/