如何从工作目录删除所有更改,包括新的未跟踪文件。我知道git checkout -f这样做,但它不会删除自上次提交以来创建的新的未跟踪文件。
有人知道怎么做吗?
如何从工作目录删除所有更改,包括新的未跟踪文件。我知道git checkout -f这样做,但它不会删除自上次提交以来创建的新的未跟踪文件。
有人知道怎么做吗?
当前回答
以下工作:
git add -A .
git stash
git stash drop stash@{0}
请注意,这将丢弃您的非分段和分段本地更改。因此,在运行这些命令之前,您应该提交想要保留的任何内容。
一个典型的用例:您移动了许多文件或目录,然后希望恢复到原始状态。
学分:https://stackoverflow.com/a/52719/246724
其他回答
这可能是一个新手的答案,但是: 我在窗口中使用TortoiseGit,它有一个很好的功能叫做REVERT。 所以你要做的是恢复你的本地非分期非推送的更改:
调出所需文件夹的上下文菜单并选择恢复, 它显示了一个恢复弹出窗口,您可以选择已更改的文件恢复/恢复。 如果你还想删除添加的文件(还没有在git中),点击commit(从相同的上下文中) 菜单),它会弹出Commit弹出窗口,然后显示添加的文件 右键单击它们并选择删除。但不要按“提交” BTN在这个弹出窗口,因为你不想提交,但只看到添加 文件,然后从这里删除。
git reset --hard # removes staged and working directory changes
## !! be very careful with these !!
## you may end up deleting what you don't want to
## read comments and manual.
git clean -f -d # remove untracked
git clean -f -x -d # CAUTION: as above but removes ignored files like config.
git clean -fxd :/ # CAUTION: as above, but cleans untracked and ignored files through the entire repo (without :/, the operation affects only the current directory)
要查看将事先删除的内容,而不实际删除它,请使用-n标志(这基本上是一个测试运行)。当你准备实际删除时,然后删除-n标志:
Git clean -nfd
你可以分两步完成:
恢复修改的文件:git checkout -f 删除不跟踪的文件:git clean -fd
我以为它是(警告:以下将消灭一切)
$ git reset --hard HEAD
$ git clean -fd
重置以撤销更改。清除删除任何未跟踪的文件和目录。
看看git clean命令。
git-clean -从工作树中删除未跟踪的文件 从当前目录开始,递归地删除不受版本控制的文件,从而清理工作树。 通常情况下,只有git不知道的文件会被删除,但是如果指定了-x选项,忽略的文件也会被删除。例如,这对于删除所有构建产品很有用。