2016-11-04 4 views
0

個々のファイル(例えばgit rm src/classes/Config.phpgit rm src/public/ajax.phpなど)を個別に削除する以外に、どのようにこれらのファイルをgitから削除できますか?gitから複数のファイルを削除する

[[email protected] main]$ git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 1 commit. 
# 
# Changed but not updated: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#  deleted: src/classes/Config.php 
#  deleted: src/public/ajax.php 
#  deleted: src/public/fileuploader.php 
#  deleted: src/public/index2.php 
#  deleted: src/public/json_encode.php 
#  deleted: src/public/petstore.json 
#  deleted: src/public/resources/index.php 
#  deleted: src/public/slimttest.php 
#  deleted: src/public/temp.php 
#  deleted: src/public/test.php 
#  deleted: src/public/test/bla.php 
#  deleted: src/public/test/file1.php 
#  deleted: src/public/test/file2.php 
#  deleted: src/public/test2.php 
#  deleted: src/public/testAPI.php 
#  deleted: src/public/testAPI2.php 
#  deleted: src/public/test_original.php 
#  deleted: src/public/testfile.php 
#  deleted: temporary.txt 
# 
no changes added to commit (use "git add" and/or "git commit -a") 
[[email protected] main]$ 

答えて

1

あなたはgit status「に変更はなく更新されていない」セクションに表示されているすべての変更をステージングする要するにgit add --updateまたはgit add -uを使用することができます。

それはあなたが(git add -Aとは違って)他の多くの変更を持っている場合でも、使用しても安全ですので、git add意志ない舞台人跡未踏のファイルには、このオプションを使用します。

これは、削除したファイルがたくさんあるような状況に特に役立ちます。ステージングしたくない変更がある場合は、後でgit reset <path>を使用して変更を元に戻すことができます(コースの変更を元に戻すことなく)。

+1

'git add .'を使ってすでに追加したものはどうですか?たぶん 'git checkout - *'をして、あなたが言うようにしますか? – user1032531

+0

'git add .'は、作業ディレクトリで物理的に見つかったファイルだけを追加します。したがって、あなたはそうした方法でファイルの削除を行うことはできません。そして、 'git add -u'を使っても、既にステージングされた変更は影響を受けません。あなたはステージにとどまっていますが、*加えて、*変更されたが更新されていない*セクションのすべての変更も追加されています。 – poke

+0

それらをチェックアウトしようとせず、単に 'git add -u'を実行しましたが、すべて正常です。 – user1032531

1

あなたはgit add -u(または--update)を探しています。 man git addから:

これは削除だけでなく、 に作業ツリーと一致するインデックスのエントリを変更しますが、新しいファイルを追加しません。

関連する問題