Git 如果上游分支的父级不尝试包含分支中已经存在的更改,我如何定期重新设置其更改的基础?

Git 如果上游分支的父级不尝试包含分支中已经存在的更改,我如何定期重新设置其更改的基础?,git,rebase,Git,Rebase,我基于我的远程源/主机创建了一个分支,并将该新分支作为源/测试仪推送到远程,并更新了我的本地分支以与该新远程而不是源/主机合并 在主服务器得到一些我需要的提交后,添加了一个新文件testfile,我运行时签出了我的本地tester分支: git fetch origin git rebase origin/master git push origin tester 一切都很好。预期的更改包含在我的本地分支中,并干净地推送到远程源代码/测试仪分支。然后,在两个分支上进行了更多更改,在单独的文件中

我基于我的远程源/主机创建了一个分支,并将该新分支作为源/测试仪推送到远程,并更新了我的本地分支以与该新远程而不是源/主机合并

在主服务器得到一些我需要的提交后,添加了一个新文件testfile,我运行时签出了我的本地tester分支:

git fetch origin
git rebase origin/master
git push origin tester
一切都很好。预期的更改包含在我的本地分支中,并干净地推送到远程源代码/测试仪分支。然后,在两个分支上进行了更多更改,在单独的文件中进行了无冲突的更改。所以,我做到了:

git fetch origin
git rebase origin/master

我得到一个冲突,说两者都添加了testfile。这让我觉得,当它做了重定基址时,它包含了自origin/tester从origin/master拆分以来的所有更改,而不是自我上次从origin/master重定基址以来所做的所有更改。我说的对吗?我如何更新我的分支以使其做正确的事情?

在您最初的重设基础后,推送不可能起作用。您可能需要强制选项-f或-force


基于您提供的步骤中的这种不精确性,您似乎最终在工作本身的基础上重定了工作基准。

据我所知,您描述的工作流程没有任何问题,尽管在没有指定强制推送的情况下,不可能推送到原点/测试仪,除非origin/tester不包含origin/master尚未包含的任何提交。如果您使用-graph-oneline添加有关日志历史记录的信息,我们可能会进一步帮助您。如果需要,可以从邮件中删除敏感信息。