-->

回滚到先前的确认 - Github上为MAC(一个复归已在进行中)(Rollback to Pre

2019-08-01 10:14发布

我想我已经搞砸了这里。

我从最后一个到我的代码进行一些更改提交增加新的功能,并实现一些其他的代码现在他反常。 我决定回退到旧的承诺(推到远程为好),以测试是否该功能由当时的工作。

之前我按回退,我承诺我目前所做的更改,因为我不想失去他们。 提交(不推到远程)后,我做了回退到旧提交。 (请注意,有插图中提交了不少提交我摇后盾,和一个我刚才犯)。

所有工作得很好,我的代码还原至该犯。 功能性行为不端那里犯下以及于是我决定回来我最近提交。

不过,我真不知道如何做到这一点,除了回滚到最新的承诺。 但它给了我一个错误。

error: a cherry-pick or revert is already in progress
hint: try "git cherry-pick (--continue | --quit | --abort)"
fatal: revert failed
(32768)

现在,它似乎最喜欢的东西都回来,但当前代码的版本是不一样的我的最后一次提交。 它是介于两者之间。 =(

我做错了什么? [我不是问出来的天真,我知道我做错了;)]

什么是这样做的正确方法吗? [我想我应该先支]

Answer 1:

我不知道做什么github上为Mac回滚,但似乎你会关闭使用命令行手头解决这个问题更好:

git cherry-pick --abort -停止任何樱桃采摘进展

git branch -va -会告诉你在哪里你的指针现在

确保你的工作目录是干净的: git status -不应该出现任何修改或筹备的文件

git stash -如果有任何修改仍然存在

git reset --hard your_local_branch github/remote_branch -使当地分公司反映状态,因为它是在远程端。 很明显,你不需要做复位,如果你的当前分支将指向同一个commit为远程。 如果在分离的头的状态是(GIT状态会告诉你这件事),然后再回到正常状态只是检出当地分行。

现在决定你真正想要达到的目标:

一,摆脱错误的承诺?

使用交互式底垫,并删除错误行提交,然后强制推送到远程的回购在github上(比如说故障发生提交10个提交前)

git rebase -i HEAD~11

II。 恢复错误犯? - 不建议做一些其他的提交后,除非你绝对相信,如下的提交没有触及到同一段代码。 这将有效地创建反向提交(如果是由故障加入线提交它将被复归,反之亦然被移除)

git revert {commit-sha1}

III。 修正错误的承诺? 采用互动变基,但指示它停止在错误提交了修订。 当它停止编辑更改并继续垫底,然后强制推到远程分支(使用从溶液中我变基命令)

大功告成后,如果有什么是藏匿使用git stash pop带来的变化回来。

希望帮助!



文章来源: Rollback to Previous Commit - Github for MAC (a revert is already in progress)