如何在git中清除我的本地工作目录?
这个问题在这里已经有了答案:
将特定文件重置为最后提交状态(以放弃特定文件中未提交的更改):
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 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