簡體   English   中英

git刪除所有未修改的文件

[英]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 -Xfd // capital X
git clean -xfd // lower x

它將從所需文件中清除您的工作目錄。

在此處輸入圖像描述

使用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”)顯示所有未被跟蹤且可以刪除的內容,或未被跟蹤但應添加的所有內容。

https://git-scm.com/docs/git-clean

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM