いくつかのファイルをローカルにステージングし、Git リポジトリにコミットしました。私はリモートリポジトリに沿っていたので、実行した後git commit
、git status
リポジトリより1コミット進んでいることがわかると思っていました。
しかし、私が見つけたのは、変更されたすべてのファイルがまだ変更済みとしてマークされており、再びステージング領域の外にあるということでした.
このコミットで、以前に追跡されていないいくつかの新しいファイルをコミットしました。これらのファイルは変更済みとしてリストされていないため、正常にコミットされている必要があります。
私が理解できないのは、なぜこれらの他のファイルが変更された/ステージングされていないと再び表示されるのですか?
Git 1.8.2.1 を使用しています。
私が混乱しているのは、git add -A
すべてのファイルをもう一度追加してからコミットすると、それらが認識されることです。目的の結果を得るために 2 つのコミットが必要になることがあるのはなぜですか?
これは、最初にgit status
、git commit
、最後に別のgit status
場所を確認したときのターミナルからの出力です。
# On branch CRMPICCO-1872
# Your branch is ahead of 'origin/CRMPICCO-1872' by 3 commits.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: sass/iphone/page/sun.scss
# modified: web/load/sun.inc.php
# modified: web/content/iphone/sun.inc.php
# modified: web/css/compressed/iphone/checkout.css
# modified: web/css/compressed/iphone/style.css
# modified: web/scripts/iphone/js/iphone.js
# modified: web/scripts/jquery_mobile/swipe/swipe.jquery.js
git commit -m 'My Commit Message In Here'
[CRMPICCO-1872 5f248ca] My Commit Message In Here 4 files changed, 45 insertions(+), 54 deletions(-)
git status
# Your branch is ahead of 'origin/CRMPICCO-1872' by 4 commits.
# (use "git push" to publish your local commits)
#
# 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: web/content/iphone/sun.inc.php
# modified: web/css/compressed/iphone/checkout.css
# modified: web/css/compressed/iphone/style.css
編集: これは、ちょうど今起こっていることのスクリーンショットです (再び)。