seh*_*ehe 372
或者使其比其他答案更明确:
git pull
Run Code Online (Sandbox Code Playgroud)
哎呦?
git reset --keep HEAD@{1}
Run Code Online (Sandbox Code Playgroud)
早于1.7.1的git版本没有--keep
.如果你使用这样的版本,你可以使用--hard
- 但这是一个危险的操作,因为它失去了任何本地更改.
ORIG_HEAD是HEAD的先前状态,由具有可能危险行为的命令设置,以便于还原它们.现在Git有reflog它没那么有用:HEAD @ {1}大致相当于ORIG_HEAD(HEAD @ {1}总是HEAD的最后一个值,ORIG_HEAD是危险操作前HEAD的最后一个值)
Par*_*us- 25
这对我有用.
git reset --hard ORIG_HEAD
Run Code Online (Sandbox Code Playgroud)
撤消合并或拉取:
$ git pull (1)
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed; fix conflicts and then commit the result.
$ git reset --hard (2)
$ git pull . topic/branch (3)
Updating from 41223... to 13134...
Fast-forward
$ git reset --hard ORIG_HEAD (4)
Run Code Online (Sandbox Code Playgroud)
查看此内容:GIT中的HEAD和ORIG_HEAD了解更多信息.
Nin*_*ina 15
找到<SHA#>
你想要的提交.你可以在github中找到它,git log
或者git reflog show
在命令行输入或者在命令行中
找到它git reset --hard <SHA#>
R..*_*... 10
撤消git pull
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
将您的本地存储库恢复到之前的提交状态。(注意:HEAD^ 表示当前分支尖端的第一个直接父级。HEAD^ 是 HEAD^1 的缩写,如果需要,您也可以进一步向上(例如 HEAD^2 、 HEAD^3 ...) .重置后,如果留下一些未知文件(由于原始 git pull 到达的文件),它们将被列为未跟踪文件,您可以使用以下命令清理它们
git clean -fd
Run Code Online (Sandbox Code Playgroud)
尽管上述解决方案确实有效,但如果您想逆转时钟而不是撤消 git pull,则此答案适合您。我的意思是,如果你想以分钟的方式获得确切的仓库,X
那么运行这个命令
git reset --hard branchName@{"X Minutes ago"}
注意:在您实际继续运行此命令之前,请仅在您确定要返回的时间以及我的情况时才尝试此命令。
我目前在一个分支上develop
,我应该签出到一个新分支并拉入另一个分支,比如说分支A
,但我
git pull origin A
在签出之前不小心跑了。
所以为了撤消这个更改我尝试了这个命令
git reset --hard develop@{"10 Minutes ago"}
如果您使用 Windows cmd 并收到错误:未知开关 `e
尝试添加这样的引号
git reset --hard 'develop@{"10 Minutes ago"}'
归档时间: |
|
查看次数: |
231123 次 |
最近记录: |