我试图撤销自上次提交以来的所有更改。在看完这篇文章后,我尝试了git reset -hard和git reset -hard HEAD。我回复头部现在在18c3773…但当我查看我的本地资源时,所有的文件都还在那里。我错过了什么?
当前回答
This will unstage all files you might have staged with git add: git reset This will revert all local uncommitted changes (should be executed in repo root): git checkout . You can also revert uncommitted changes only to particular file or directory: git checkout [some_dir|file.txt] Yet another way to revert all uncommitted changes (longer to type, but works from any subdirectory): git reset --hard HEAD This will remove all local untracked files, so only git tracked files remain: git clean -fdx WARNING: -x will also remove all ignored files, including ones specified by .gitignore! You may want to use -n for preview of files to be deleted.
总结一下:执行下面的命令基本上相当于从原始源代码复制一个新的git(但它不会重新下载任何东西,所以更快):
git reset
git checkout .
git clean -fdx
典型的使用是在构建脚本中,当你必须确保你的树是绝对干净的——没有任何修改或本地创建的目标文件或构建工件,并且你想让它工作得非常快,而不是每次都重新克隆整个存储库。
其他回答
对于那些到达这里搜索是否可以撤消git clean -f -d的人,通过它在eclipse中创建的文件被删除,
你也可以在UI中使用“restore from local history”为ref: restore from local history进行同样的操作
Git恢复[filename_path]
例如,我需要丢弃我在index.html文件中的最后更改:
git restore /usr/myPC/folder/index.html
我使用源代码树....你可以通过2个简单的步骤恢复所有未提交的更改:
1)只需要重置工作空间文件状态
2)选择所有未升级文件(命令+a),右键单击并选择删除
就是这么简单:D
如果你想“撤销”所有未提交的更改,只需运行:
git stash
git stash drop
如果您有任何未跟踪的文件(通过运行git状态检查),可以通过运行以下命令删除:
git clean -fdx
Git stash创建一个新的stash,它将成为stash@{0}。如果你想先检查一下,你可以运行git stash list来查看你的存储列表。它看起来像这样:
stash@{0}: WIP on rails-4: 66c8407 remove forem residuals
stash@{1}: WIP on master: 2b8f269 Map qualifications
stash@{2}: WIP on master: 27a7e54 Use non-dynamic finders
stash@{3}: WIP on blogit: c9bd270 some changes
每个存储都以前一个提交消息命名。
如果你想“撤销”所有未提交的更改或本地更改,只需运行:
git add .
git stash
git stash drop
git clean -fdx
推荐文章
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 如何使用文件的行作为命令的参数?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时
- git reflog和log有什么区别?
- git推挂在Total line之后
- 重命名git子模块
- BAT文件:打开新的cmd窗口并在其中执行命令
- 如何做一个非贪婪匹配在grep?