Rollback to Previous Commit - Github for MAC (a revert is already in progress)
我想我在这里搞砸了。
自上次提交以来,我对代码进行了一些更改,添加了新功能,并意识到其他一些代码现在表现得很奇怪。我决定回滚到旧的提交(同样也推送到远程),以测试该功能是否在那时起作用。
在按下"回滚"之前,我已完成当前所做的更改,因为我不想丢失这些更改。提交(不推送到远程)后,我回滚到了旧的提交。 (请注意,在我回滚的提交和我刚刚提交的提交之间有很多提交)。
一切正常,我的代码恢复为该提交。该提交中的功能也有问题,因此我决定返回到我最近的提交。
但是,除了回滚到最新提交之外,我不知道该怎么做。但这给了我一个错误。
1 2 3 4 | error: a cherry-pick or revert is already in progress hint: try"git cherry-pick (--continue | --quit | --abort)" fatal: revert failed (32768) |
现在,似乎大多数事情都回来了,但是当前版本的代码与我上一次提交的版本不同。它介于两者之间。 =(
我做错了什么? [我不是出于纯真而问,我知道我做错了;)]
正确的做法是什么? [我认为我应该先分支]
我不知道Mac的github回滚有什么作用,但是似乎最好使用命令行来解决当前的问题:
确保您的工作目录是干净的:
现在确定您实际想要实现的目标:
I。摆脱错误的提交?
使用交互式rebase并删除错误提交的行,然后在github上强制推送到远程仓库(例如错误提交发生在10次提交之前)。
II。恢复错误的提交? -不建议在其他一些提交之后再执行此操作,除非您完全确定以下提交不会触及同一段代码。这将有效地创建一个反向提交(如果行是由错误的提交添加的,则它将被还原删除,反之亦然)
III。修改错误的提交?使用交互式变基,但指示它在错误的提交时停止进行修改。当确实停止编辑更改并继续重新设置基准时,然后强行推到远程分支(使用解决方案I中的rebase命令)。
完成任何操作后,请使用
希望有帮助!