有人知道如何轻松撤消git rebase吗?
想到的唯一方法是手动进行操作:
在我当前的情况下,这是可行的,因为我可以轻松地发现两个分支的提交(一个是我的东西,另一个是我同事的东西)。
但是,我的方法给我的印象是次优且容易出错(例如,我刚刚使用自己的两个分支进行了重新基准化)。
有任何想法吗?
澄清:我说的是一个重播,在此期间重播了很多提交。不只是一个
最简单的方法是找到分支的头提交,就像在reflog中重新启动基础之前一样...
git reflog
并将当前分支重置为该分支(通常的警告是在使用该--hard
选项进行重置之前必须绝对确定)。
假设旧的提交HEAD@{5}
在引用日志中:
git reset --hard HEAD@{5}
在Windows中,您可能需要引用以下引用:
git reset --hard "HEAD@{5}"
您只需执行git log HEAD@{5}
(Windows :),即可检查候选旧头的历史git log "HEAD@{5}"
。
如果您尚未针对每个分支引用禁用它,则应该能够轻松完成,git reflog branchname@{1}
因为在重新连接到最终头之前,通过变基将分支头分离。我会再次检查,尽管最近还没有验证。
默认情况下,针对非裸存储库激活所有引用日志:
[core]
logAllRefUpdates = true
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句