# 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
5条答案
按热度按时间o75abkj41#
我不知道你为什么要这样做,但你可以这样做:
a64a0gku2#
您也可以使用更简单的命令来实现此目的:
它将从所需的文件中清除您的工作目录。
62lalag43#
使用
git clean
是你想要的。要删除(-x
)那些文件和目录(-d
),运行:如果你使用
-X
选项而不是-x
,那么你告诉git忽略的文件仍然会被保留(例如构建工件)。最近版本的git需要指定“-f”(强制)或“-n”(试运行)。你应该先运行一个模拟运行,以显示会发生什么,但实际上什么也不做:
我经常使用它,所以我有一个别名(添加到你的
.gitconfig
)来检查当你运行git clean
时 * 将被删除 * 的文件。如果我忘记“git add”我想要保留的文件,它也很有用。然后,运行
git ifc
(即.“ifc”=“ifclean”)显示所有未被跟踪但可以删除的内容,或者所有未被跟踪但应该添加的内容。https://git-scm.com/docs/git-clean
mfuanj7w4#
做相反的事:How can I discard modified files?
nbysray55#