2016-11-04 58 views
0

除了单独删除每个文件(即git rm src/classes/Config.php,git 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 add --updategit add -u总之来分段显示在“改变,但没有更新”git status所有更改。

git add阶段未跟踪文件使用此选项,因此它是安全的,当你有很多其他变化(不像git add -A),甚至使用。

这对于像您的情况下您有很多被删除的文件特别有用。如果您有一些不想分阶段进行的更改,则可以使用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

这将删除以及修改索引条目匹配 工作树,但没有增加新的文件。