如何在不尝试包含已在我的分支中的更改的情况下定期从上游分支的父级重新定义更改?

时间:2012-03-28 17:50:38

标签: git rebase

我基于我的远程“origin / master”创建了一个分支,我将该新分支作为“origin / tester”推送到远程(并更新了我的本地分支以与新的远程而不是origin / master合并)

主人得到了我需要的一些提交(添加了一个新文件“testfile”)后,我跑了(我的本地测试分支签出了):

git fetch origin
git rebase origin/master
git push origin tester

一切都很好。预期的更改包含在我的本地分支中,并且干净地推送到远程源/测试器分支。然后,对两个分支进行了更多更改(单独文件中的非冲突更改)。所以,我做了:

git fetch origin
git rebase origin/master

我发生冲突,说两者都添加了“testfile”。这让我觉得,当它进行了rebase时,它包含了自origin / tester从origin / master分割后的所有更改,而不是自从我上次从origin / master重新定义以来所做的所有更改。我是对的吗?如何更新我的分支以使其做“正确”的事情?

1 个答案:

答案 0 :(得分:0)

在你最初的rebase之后,推送无法奏效。你需要强制选项(-f或--force)。

根据您提供的步骤中的这种不准确性,您似乎最终在自己的基础上重新定位工作。