5

やその他の機能を使用してファイルを削除 (または名前を変更) すると、ファイルは次のように削除されたものとして表示さmvれます。rmgit status

# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    ../src/main/..../myFile.java

コミットを作成する前に、ファイルごとに行うのは面倒git rm <file>です。特に、ターミナルに存在しないファイルのオートコンプリートがないためです。

削除されたファイルを git によって追跡される一連のファイルから削除するより短い方法はありますか?

ありがとう

4

5 に答える 5

4

git add -uドキュメントから、あなたが望むことをすると思います:

-u
--update
  Only match <filepattern> against already tracked files in the index 
  rather than the working tree. That means that it will never stage new
  files, but that it will stage modified new contents of tracked files
  and that it will remove files from the index if the corresponding file
  in the working tree have been removed.

参照: http://git-scm.com/docs/git-add

于 2012-07-15T00:02:47.883 に答える
3

一部のファイルを削除するときは、コミットに「a」パラメーターを追加することを忘れないでください。

$ git commit -am 'Message'

「a」は、リポジトリからファイルを自動的に削除します

于 2012-07-15T00:53:43.940 に答える
2

はい、git add -uトリックを行う必要があります (すべての変更/削除でインデックスを更新します)。新しいファイル名でファイルをすでに追加している場合は、名前の変更も に表示されgit statusます。

于 2012-07-15T00:01:53.827 に答える
1

それはまさにあなたが求めたものではありませんが、試すことができますgit commit -a。ドキュメントから:

Tell the command to automatically stage files that have been modified
and deleted, but new files you have not told git about are not affected.
于 2012-07-14T23:59:57.577 に答える
1

私の答えは、この特定の質問に実際には対処していませんが...

他の特定の VCS とは異なり、Git では、 (コマンドライン オプションを使用して) 特に指示がない限り、git rmコマンドはインデックスと作業ツリーの両方からファイルを削除することに注意してください。--cachedしたがってgit rm、最初に を使用して追跡ファイルを削除することをお勧めします。ファイル名の補完が機能し、インデックスの状態を作業ツリーと同期する必要がなくなります。

于 2012-07-15T12:06:03.907 に答える