我从github克隆了一些项目到我的项目,一切正常,我很高兴。
但是在一些git pulls之后,我在项目中遇到了一些与上游项目的新提交相关的冲突。
我想回滚到之前的结账,但我不知道我的项目中有哪个稳定的结账。
我怎么知道它并回滚到以前的稳定(对我来说)项目结账?我理解以更正确的方式修复与上游回购的冲突,但有时我只需要回滚到以前的版本,以便有时间解决问题。
答案 0 :(得分:2)
如果你有一个命令/脚本,你可以执行,这将说明一个“稳定点”(即一些工作,而不是当前它不工作的状态),那么你可以考虑一个 {{ 1}} 命令 请参阅“How to use git bisect?”。
这可以帮助您隔离“它正在工作”的最后一次提交。
答案 1 :(得分:1)
git reflog
应告诉您操作的顺序,最近一次。查找在第一次拉/合并之前操作的提交ID; checkout
或reset --hard
。
答案 2 :(得分:0)
你已经提交了合并吗?如果没有,只需git reset --hard
,您就会在发出git pull
之前回到州。否则,git reset --hard HEAD^
(如果合并是最后一次提交)就可以了,因为git默认会选择合并提交的第一个父级,即你的分支。如果有疑问,您可以随时使用,例如gitk
检查情况并找到分支上的最后一次提交,复制其SHA1哈希值并恢复为该值。