我从git应用程序中得到了这种奇怪的牛行为。我基本上想恢复到过去提交之一。该应用程序一直告诉我合并和提交更改。虽然没有什么可以承诺的。所有新代码都已提交。
我该如何解决这个问题?
Update2:我尝试使用命令行恢复并收到此消息
MacBook:busyhunt craigcosmo$ git revert 69638b3
error: could not revert 69638b3... Revert "add grid system"
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
答案 0 :(得分:0)
如果您想尝试解决此问题,请查看修复部分。否则,请跳至退出部分。
第1步:解决冲突(手动或使用git checkout
)
当git尝试恢复到旧提交时,看起来存在合并冲突。在文件中查找合并冲突标记(<<<<<<<
和>>>>>>>
箭头)并将其修复为您喜欢的版本。
您可以手动编辑文件,或者如果您确定要保留旧提交的文件版本,则可以执行以下操作:
git checkout --theirs <filenames>
另外,请保留HEAD
版本的文件:
git checkout --ours <filenames>
这将为您省去手动编辑文件的痛苦。
第2步:签署协议
完成解决合并冲突后,从命令行(或Github应用程序中的等效命令)运行这些命令:
git commit -am "Resolve merge conflicts during revert"
git revert --continue
理想情况下,这应该让您的回购处于理想的状态。
如果你只想摆脱这个烂摊子并重新开始,请运行:
git revert --abort
这将使您在最初尝试git revert
之前恢复原状状态。
答案 1 :(得分:0)
您需要使用git reset
:
我不知道,该GUI中是否有选项,但在控制台中它将是
git reset --hard commit_identifier
警告:它会清除所有未保存的更改以及commit_identifier
之后的所有提交。