ファイル削除の変更が git のインデックスに表示されない理由は、git に通知せずに自分でファイルを削除したためです。
現在、これを修正するには 2 つの方法があります。
オプション1:
コマンドを使用しgit add -u <FILES>
て、インデックスで追跡されるファイルに作業ツリーの変更を反映させます。Git は作業ツリー内のファイルの削除を検出し、この状態に対応するようにインデックスを更新します。
# Example command to update the git index to
# reflect the state of the files in the work-tree
# for the two files named helpers.php and registry.class.php
git add -u helpers.php registry.class.php
オプション 2:
del
ファイルを削除するには、シェルでまたはコマンドを使用して手動でファイルを削除する代わりに、コマンドを使用rm
して git に直接削除を依頼し、インデックスの変更を書き留めることができますgit rm
。このコマンドは、自分でファイルを既に削除している場合でも実行できることに注意してください(言及した場合のように)。
# Example command to remove two files named
# helpers.php and registry.class.php
git rm helpers.php registry.class.php
上記のオプションのいずれかを使用すると、ステージング領域でファイルが削除されたことをステータス コマンドが自動的に示すはずです。
git status
# On branch testing
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: helper.php
# deleted: registry.class.php
#
commit
その後、コマンドを使用して変更をコミットできるはずです。
git commit -m "Deleted some files from testing branch"