所以情况是我克隆了一个来自Github的回购,我搞砸了尝试构建它,它添加了新文件并对repo中的现有文件进行了更改.我没有任何承诺,也从未上过任何东西.如何恢复克隆的干净主分支(意味着我PC上的实际本地文件)?
如果我没有使用git命令,我会从磁盘中删除本地文件,只需重新下载/克隆repo.但是我觉得使用Git应该有一个简单的方法来做到这一点.我从来没有弄乱我的Git设置,所以git status仍列出所有未跟踪文件并列出修改,但我不想逐个手动检出每个文件,然后逐个手动删除每个未跟踪文件.
git reset --hard # This resets all tracked files to default state
git clean -fd # this clears working directory of all untracked files
Run Code Online (Sandbox Code Playgroud)
这可能是显而易见的,但请谨慎使用此命令.它们具有破坏性,会在不询问的情况下删除您的工作.
git reset将当前HEAD重置为默认状态.该--hard规定的困难模式,这将删除所有的变化.您也可以将它与--soft
模式一起使用,它只会将其他所有内容重置为指定的提交,但会保留所有更改和--mixed模式,这会使您的所有更改都无法进行.但是,此命令仅适用于跟踪的文件.
git clean清除未跟踪文件的文件夹.-d选项使它可以在目录和文件上工作(请注意,git只跟踪文件 - 它不会注意到文件夹存在,除非你在其中放入东西),而-f
选项是一个简单的保险丝 - 如果没有它,它将无法工作(除非你的repo另外配置).但是,除非添加-x标志,否则此命令仍会忽略.gitignore中指定的文件.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |