我已经从github克隆了一些项目,到我的项目,所有的作品都很好,我很高兴。Git回滚到之前的结账
但在一些git pulls后,我收到了一些与上游项目的新提交有关的项目冲突。
我想回滚到之前的结帐,但我不知道我的项目中以前有哪个稳定结帐。
我如何知道它并回滚到以前的稳定(对我来说)项目结账?我明白,从视角来看,更正确的方法可以解决与上游回购问题的冲突,但有时我只需要回滚到以前的版本,以获得解决问题的时间。
我已经从github克隆了一些项目,到我的项目,所有的作品都很好,我很高兴。Git回滚到之前的结账
但在一些git pulls后,我收到了一些与上游项目的新提交有关的项目冲突。
我想回滚到之前的结帐,但我不知道我的项目中以前有哪个稳定结帐。
我如何知道它并回滚到以前的稳定(对我来说)项目结账?我明白,从视角来看,更正确的方法可以解决与上游回购问题的冲突,但有时我只需要回滚到以前的版本,以获得解决问题的时间。
如果您有一个可以执行的命令/脚本,并且可以说明一个“稳定点”(即正在工作,与当前不工作的状态相反),那么您可以考虑命令/命令。
请参阅“How to use git bisect?”。
这将帮助你隔离“它正在工作”的最后一次提交。
你已经承诺合并?如果不是,只需git reset --hard
,并且您在发布git pull
之前又回到了州。否则,git reset --hard HEAD^
(如果合并是最后一次提交)会诀窍,因为默认情况下git会始终选择合并提交的第一个父级,这是您的分支。如果有疑问,您可以随时使用gitk
检查情况并找到您的分支上的最后一个提交,复制它的SHA1哈希并恢复到那个。
git reflog
应该告诉你操作的顺序,最近的第一个。查找在第一次拉/合之前操作的提交ID; checkout
或reset --hard
。
如果您知道如何结帐以前的版本,我不清楚这一点吗?如果没有看到http://stackoverflow.com/q/1223354/11343。 – CharlesB 2012-04-23 07:08:28