乐闻世界logo
搜索文章和话题

How do I discard unstaged changes in Git?

1 个月前提问
1 个月前修改
浏览次数14

1个答案

1

在Git中,如果你想要丢弃未暂存的更改,有几种方法可以做到这一点。

  1. 使用git checkout命令: 最直接的方法是使用git checkout命令,它将把文件恢复到最近一次提交时的状态。例如,如果你想要丢弃对文件example.txt的所有未暂存更改,你可以运行:

    sh
    git checkout -- example.txt

    这条命令会将example.txt文件恢复到最后一次commit的状态。

  2. 使用git restore命令: 从Git 2.23版本开始,git restore命令被引入以更直观地处理恢复工作。如果你只是想放弃对某个文件的未暂存更改,可以使用:

    sh
    git restore example.txt

    这样也会将example.txt恢复到最近一次提交的状态。

  3. 针对所有未暂存更改: 如果你想丢弃所有文件的未暂存更改,可以使用:

    sh
    git checkout -- .

    或者使用git restore命令:

    sh
    git restore .

    这两个命令都会将工作目录的所有文件恢复到最近一次提交的状态。

  4. 使用git clean清理未跟踪的文件: 如果你的目录中还有未跟踪的文件(即新添加的文件,还没有被Git跟踪),上述命令不会处理这些文件。如果想要删除未跟踪的文件,可以使用:

    sh
    git clean -f

    这个命令会删除所有未跟踪的文件。如果有未跟踪的目录,需要添加-d选项:

    sh
    git clean -fd

通过这些方法,你可以根据需要选择适当的命令来处理Git中的未暂存更改。在实际工作中,正确地使用这些命令可以帮助你保持工作目录的整洁,避免因错误的更改而导致的问题。

2024年8月8日 05:42 回复

你的答案