我有一个严重的问题,我将本地更改提交到本地分支。然后,我从远程服务器上拉了一下。然后我解决了冲突。但是,我做的一个错误是,我不小心接受了远程服务器的更改。所以现在,我所有的改变都消失了。幸运的是,我仍然有我的更改的本地提交。
现在,我希望我的本地提交覆盖我提取的文件。我不确定在sourcetree上执行此操作的正确方法是什么。我也可以在sourcetree上尝试命令行。我试图在我的本地更改/提交上签出一个分支,并将其标记为跟踪远程分支。但这并不是用我提交的文件写它。有人知道如何解决这个问题吗?
由于
答案 0 :(得分:0)
如果你只是想要把你原来合并的混乱的本地分支吹走,你可以。
git reset --hard goodLocalCommitHash
这将删除当前分支中goodLocalCommitHash
之上的所有提交。
答案 1 :(得分:0)
如果您没有推送合并提交,并且自合并提交后没有进行任何提交,git reset --hard head~
将撤消合并,然后您可以再次合并。否则,您最安全的赌注可能是git checkout <commit> <filename>
,它将覆盖您的工作目录中的版本。然后,只需提交该文件。