这是我的git状态:
# On branch create-views-question
# 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: solr/data/development/index/_0.fdt
# deleted: solr/data/development/index/_0.fdx
# deleted: solr/data/development/index/_0.fnm
# deleted: solr/data/development/index/_0.frq
...
目前,我使用git rm
逐个删除文件,是否有其他方法可以同时删除它们?
答案 0 :(得分:9)
在这种情况下你可以做
git rm 'solr/data/development/index/_0.*'
请注意'
标记以防止shell扩展,而是将*
直接传递给git。
以下是一个例子:
graphite> git status
# On branch master
# Changes not staged for commit:
# deleted: a
# deleted: b
#
no changes added to commit
graphite> git rm '*'
rm 'a'
rm 'b'
graphite> git status
# On branch master
# Changes to be committed:
# deleted: a
# deleted: b
#
答案 1 :(得分:5)
您也可以使用:
git rm --cached `git status | grep deleted | sed 's#^.*:##'`
这删除了在deleted:
git status
前缀列出的所有文件
答案 2 :(得分:0)
就个人而言,如果我只是想让我的本地看起来像远程,我喜欢这样做:
git reset --hard upstream/BRANCHNAME