[英]Git delete all unmodified files
我在 Linux 平台的項目中使用 git。 我在特定目錄中有很多文件。 我修改了該目錄中的上述大約 50 個文件,但沒有暫存和提交。 我希望從該目錄中刪除所有其他未修改的文件? 有沒有辦法做到這一點,使用 git 和 Linux 命令?
不知道你為什么要這樣做......但你可以:
# Save changes to stash
git stash save
# Remove everything left
rm -rf ./*
# Checkout (restore) all of the changed files
git stash show --stat | grep -v changed | sed -e 's/|.*$//;' | xargs git checkout
# Restore the changes to those files
git stash pop
git reset --hard [HEAD] 應該為你重復工作
重復的問題如何丟棄修改過的文件?
使用git clean
是你想要的。 要刪除 ( -x
) 這些文件和目錄 ( -d
),請運行:
$ git clean -fdx
如果您使用-X
選項而不是-x
,那么您告訴 git 忽略的文件仍將保留(例如,構建工件)。 最新版本的 git 需要指定“-f”(強制)或“-n”(試運行)。
您應該先運行一次預運行,以顯示會發生什么,但實際上不執行任何操作:
$ git clean -ndx
我經常使用它,因此我有一個別名(添加到您的.gitconfig
)來檢查運行git clean
時將被刪除的文件。 如果我忘記“git add”我想要保留的文件,提醒我也很有用。
[alias]
# list files that would be removed via 'clean' (non-destructive)
ifc = clean -ndx
然后,運行git ifc
(即。“ifc”=“if clean”)顯示所有未被跟蹤且可以刪除的內容,或未被跟蹤但應添加的所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.