嘿,我是 git 新手,我需要撤消拉动,有人可以帮忙吗?!?所以我所做的是...
- git 提交
- 混帐藏匿
- git pull --rebase
- git stash 弹出
这造成了一堆冲突并且出了点问题。现在做 'git stash list' 表明我的藏匿处仍然存在。是否可以在执行 git commit 之后将我的 repo 恢复到原点。如此有效地,我的回购只包含我所做的更改,而服务器没有任何新内容?
嘿,我是 git 新手,我需要撤消拉动,有人可以帮忙吗?!?所以我所做的是...
这造成了一堆冲突并且出了点问题。现在做 'git stash list' 表明我的藏匿处仍然存在。是否可以在执行 git commit 之后将我的 repo 恢复到原点。如此有效地,我的回购只包含我所做的更改,而服务器没有任何新内容?
实际上,为了使这更容易,Git 保留了一个名为的引用,该引用ORIG_HEAD
指向你在变基之前所在的位置。所以,这很简单:
git reset --hard ORIG_HEAD
使用git reflog
您将看到 HEAD 过去指向的提交列表
使用
git checkout -b after-commit HEAD@{1} # or the commit you want to recover
您在该精确位置创建一个新分支并检查它
你应该检查命令
git reset --merge
这消除了对 git commit 的需要;拉动之前的 git stash (虽然不知道变基)
该命令返回一个工作区,其中包含对冲突拉取之前状态的未提交更改。
使用git log -g
并找到您要返回的提交索引,即执行git checkout
索引