我正在尝试撤消自上次提交以来的所有更改。我尝试过git reset --hard
并git reset --hard HEAD
查看了这篇文章。我的响应现在是18c3773 ...,但是当我查看本地源文件时,所有文件仍然存在。我想念什么?
这将取消登台您可能已登台的所有文件git add
:
git reset
这将还原所有本地未提交的更改(应在回购根目录中执行):
git checkout .
您还可以仅将未提交的更改还原到特定的文件或目录:
git checkout [some_dir|file.txt]
恢复所有未提交的更改的另一种方法(更长的类型,但可以在任何子目录中使用):
git reset --hard HEAD
这将删除所有本地未跟踪的文件,因此仅保留git跟踪的文件:
git clean -fdx
警告:
-x
还将删除所有忽略的文件,包括由.gitignore
!指定的文件。您可能要-n
用于预览要删除的文件。
概括起来:执行下面的命令基本上等同于git clone
从原始源重新下载命令(但它不会重新下载任何内容,因此速度更快):
git reset
git checkout .
git clean -fdx
典型的用法是在构建脚本中,这时您必须确保树是绝对干净的-没有任何修改或本地创建的目标文件或构建伪像,并且您希望使其运行得非常快并且不重新构建。每次都克隆整个存储库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句