如何在git中清除我的本地工作目录?

这个问题在这里已经有了答案:

  • 如何从当前的Git工作树中删除本地(未跟踪)的文件? 31个答案

  • 将特定文件重置为最后提交状态(以放弃特定文件中未提交的更改):

    git checkout thefiletoreset.txt
    

    这在git status输出中提到:

    (use "git checkout -- <file>..." to discard changes in working directory)
    

    将整个存储库重置为上次提交状态:

    git reset --hard
    

    要删除未跟踪的文件,我通常只删除工作副本中的所有文件(但包括.git/文件夹!),然后执行git reset --hard ,只保留提交的文件。

    更好的方法是使用git clean :( 警告 :使用下面的-x标志将导致git删除被忽略的文件。)

    git clean -d -x -f
    

    将删除未跟踪的文件,包括目录( -d )和被git( -x )忽略的文件。 将-f参数替换为-n以执行干运行或-i交互模式,它会告诉您什么将被删除。

    相关链接:

  • git-reset手册页
  • git-clean手册页
  • git准备好“清理未跟踪文件”(正如Marko发布的)
  • Stackoverflow问题“你如何从你的git工作副本中删除未跟踪的文件?”

  • git clean -df
    

    编辑:这不是广告,但git clean是非常方便。 Git Ready有一个很好的介绍git clean

    更新:根据下面评论中的建议删除了x标志


    迄今为止所有答案都保留了本地提交。 如果你真的认真,你可以通过做下列事情来放弃所有本地提交和所有本地编辑:

    git reset --hard origin/branchname
    

    例如:

    git reset --hard origin/master
    

    这使得您的本地存储库原始状态完全匹配 (除未跟踪文件外)。

    如果你在阅读命令后不小心做到了这一点,而不是它做了什么:),请使用git reflog来查找旧的提交。

    链接地址: http://www.djcxy.com/p/3263.html

    上一篇: How do I clear my local working directory in git?

    下一篇: How to check for "undefined" in JavaScript?