在尝试恢复我对.emacs.d文件夹的存储库的提交时,我收到以下消息:
haziz@haziz> git revert 7fe3f
error: could not revert 7fe3f0b... .emacs.d contents from ubuntu hp 15
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'
Run Code Online (Sandbox Code Playgroud)
我想要做的是反转我对init.el文件所做的更改,然后执行另一个我想要撤消的提交.我更愿意还原而不是重置 - 硬,因为据我所知,后者完全删除了最近的提交.我想创建一个新的提交,以便我可以"恢复"恢复.
换句话说,我想要做的就是这个
Git Commits [A]...[B]
Run Code Online (Sandbox Code Playgroud)
将被还原为
Git Commits [A]...[B]...[A']
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
编辑:我尝试做尽可能最好的差异/合并然后另一个提交,但它仍然给我这个新的错误消息:
haziz@haziz> git revert 7fe3f0ba3182b591f11c0b59e006dc6c990b7470
fatal: Your local changes would be overwritten by revert.
Please, commit your changes or stash them to proceed.
Run Code Online (Sandbox Code Playgroud)
如何在不诉诸.gitigore文件的情况下告诉它忽略(但不删除)未分段文件.我坦率地不关心大多数emacs临时文件等非分页文件.
问:有什么冲突?
合并该修订版的反向补丁时的冲突,后来的修订版更改了相同的代码行:合并冲突
编辑如果要还原最新提交,这意味着您有本地更改(请参阅
git status).不要忘记您可以进行暂存和未暂存的本地更改.要轻松查看所有本地更改,请使用Run Code Online (Sandbox Code Playgroud)git diff HEAD
您应该打开未合并的文件(git status)以查看冲突的文件.你会看到<<<<,=====,>>>>>冲突标记很快.
您可以使用
git mergetool
Run Code Online (Sandbox Code Playgroud)
使用更多用户友好的工具解决冲突,如Meld,KDiff3,Gvim等.