2

Gitを学んでいます。私のマシンのテストリポジトリには2つのブランチがあります:

  • master
  • testing

testing branchファイルシステム上のいくつかのファイルをチェックアウトして削除しました。

helpers.php                 registry.class.php
...       session.class.php                    simpleCrud.php

それから私は走りますgit add .

  • testingこれらの削除されたファイルがブランチから削除され、その変更をコミットできるようになることを期待します
  • ただしgit status(下の画像を参照)、それらが利用できないことを示していますgit commit -m "Deleted some files from testing branch"

git ステータス

  1. 誰かが私が間違っていることを教えてもらえますか?
  2. そして、私がやろうとしていることをどのように行うのですか?
4

2 に答える 2

5

ファイル削除の変更が 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"
于 2013-03-24T05:19:20.393 に答える
3

-uあなたは旗でそれらを上演します。

例えば:git add -u .

于 2013-03-24T04:29:06.147 に答える