Git合并,同时丢弃任何先前的更改(在本地存储库或上次提交)

时间:2012-07-31 10:08:47

标签: git merge

在Git中,在合并期间,是否有一种方法可以告诉git在发生冲突时丢弃本地更改并应用合并分支的更改?

我的意思是,如果有方法,那么我们可以进行合并,例如分支合并而不会发生冲突。

3 个答案:

答案 0 :(得分:3)

在尝试合并之前,您可以自行放弃本地更改git reset --hard HEAD 您可以使用您想要的任何提交哈希替换HEAD 这将为您带来您实际上 的提交的干净状态,并且您将丢失所有更改。

如果您想保留它们,可以先使用git stash存储它们,或将它们移到另一个分支:

git checkout -b new_branch
git add .
git commit -m "My awesome commit"
git checkout - # will bring you back to the last branch you were in

答案 1 :(得分:0)

如果您想忽略所有本地更改,并想要将分支移动到远程HEAD,则需要进行额外的合并提交。

git log --oneline origin/master
# assume the first sha is bbdfa17
git reset --hard bbdfa17

现在,您处于树的顶端,没有合并提交。

答案 2 :(得分:-1)

听起来你想要了解合并策略'他们'和'我们的'。合并时,您可以指定当前分支(我们的)或远程分支(他们的)是正确的分支。