我在一个分支机构工作,偶然我已经完成git reset HEAD~1
,因为我以为我正在重置我的最后一次提交。
问题是我甚至没有提交我的更改,所以我已经完成了重置提交,这是由其他人完成的。对我正在处理的文件进行了很多更改,因此我没有注意到并继续我的工作。在我提交并推动我的更改之后,我注意到了丢失提交。
develop branch: commitA -> commitB -> commitC
my branch: commitA -> commitB -> myCommit
有没有办法在我提交之前还原这些更改并插入commitC
?
答案 0 :(得分:2)
您可以通过Solution& this_val = *this;
sort(nums.begin(), nums.end(), this_val);
查看工作树。首先,返回git reflog
并选择commitC
堆栈的myCommit
顶部。然后只需更新远程。
git log
答案 1 :(得分:0)
您无需还原提交,因为您可以 rebase 远程服务器上的本地分支,并在重新应用提交之前干净地引入commitC
。
我不知道你在本地完成了什么,最终得到了你向我们展示的分支图,但我认为你可以简单地在删除develop
时修改你的分支以引入{{1} },然后重播你的commitC
:
myCommit
现在您应该可以通过以下方式快速转发远程分支:
git fetch origin # bring origin/develop up to date
git checkout develop # checkout local develop branch
git rebase origin/develop # rebase your local branch on the remote one