使用源树和git对提取的更改应用本地提交的更改

时间:2016-01-27 21:35:27

标签: git git-merge atlassian-sourcetree git-commit git-checkout

我有一个严重的问题,我将本地更改提交到本地分支。然后,我从远程服务器上拉了一下。然后我解决了冲突。但是,我做的一个错误是,我不小心接受了远程服务器的更改。所以现在,我所有的改变都消失了。幸运的是,我仍然有我的更改的本地提交。

现在,我希望我的本地提交覆盖我提取的文件。我不确定在sourcetree上执行此操作的正确方法是什么。我也可以在sourcetree上尝试命令行。我试图在我的本地更改/提交上签出一个分支,并将其标记为跟踪远程分支。但这并不是用我提交的文件写它。有人知道如何解决这个问题吗?

由于

2 个答案:

答案 0 :(得分:0)

如果你只是想要把你原来合并的混乱的本地分支吹走,你可以。

git reset --hard goodLocalCommitHash

这将删除当前分支中goodLocalCommitHash之上的所有提交。

答案 1 :(得分:0)

如果您没有推送合并提交,并且自合并提交后没有进行任何提交,git reset --hard head~将撤消合并,然后您可以再次合并。否则,您最安全的赌注可能是git checkout <commit> <filename>,它将覆盖您的工作目录中的版本。然后,只需提交该文件。