git,摆脱本地提交/恢复分支到上游

时间:2013-11-13 22:34:14

标签: git

在一个分支上,我做了一些(不能完全记住有多少)git commit和一个git pull导致合并失败。

我意识到我的本地更改/提交只是愚蠢的,可以扔掉。

为此我做了:

git checkout master
git branch -D otherbranch
git checkout otherbranch

这似乎不是解开事物的正确方法 - 最好的方法是什么?

5 个答案:

答案 0 :(得分:3)

你总是可以这样做:

git checkout <branch>
git reset --hard <otherbranch>

这会将分支更改为与另一个分支的状态完全匹配。

答案 1 :(得分:2)

如果您想要做的就是吹走当地的变化:

git reset --hard @{u}

答案 2 :(得分:0)

使用reset命令在git中撤消。

通常使用git reset --hard <SHA>来回到已知状态。从您想要返回的提交中选择SHA。

答案 3 :(得分:0)

查找git rebase

http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html

它允许您编辑提交并删除它们。

答案 4 :(得分:0)

尝试:

git fetch

git reset --hard origin/<remote_branch>
##this will reset your local branch HEAD to TOT commit 

为避免在git pull时创建合并提交,请尝试:

git pull --rebase

如果您有本地未合并的提交,则正常的git pull将创建合并提交。