如何重新同步两个git分支?
我有两个分支,如何重新同步两个git分支?,git,merge,Git,Merge,我有两个分支,master和test。当我尝试将master合并到test中时,git认为一切都是最新的,但如果我运行gitdiff master test,我会得到一个意想不到的变化。在这个特殊的时刻,我希望它们完全相同 我想弄清楚如何让它们再次相同。不过,我必须删除测试分支,然后从master重新创建它。然而,测试是一个共享分支,并且也存在于测试服务器上,该服务器根据提交挂钩自动拉取测试分支。我预计重新创建测试分支将破坏测试服务器的拉取尝试 有没有更干净的方法来重新同步这两个分支,或者我应该
master
和test
。当我尝试将master合并到test中时,git认为一切都是最新的,但如果我运行gitdiff master test
,我会得到一个意想不到的变化。在这个特殊的时刻,我希望它们完全相同
我想弄清楚如何让它们再次相同。不过,我必须删除测试分支,然后从master重新创建它。然而,测试是一个共享分支,并且也存在于测试服务器上,该服务器根据提交挂钩自动拉取测试分支。我预计重新创建测试分支将破坏测试服务器的拉取尝试
有没有更干净的方法来重新同步这两个分支,或者我应该咬紧牙关,在这里手动重新同步测试服务器
我还希望有一个合理的机会,在某个时候必须对生产部门做同样的事情,这使得我在去做之前了解我在做什么变得更加重要
请注意,如果我要求git在一个分支中而不是在另一个分支中进行任何合并,那么它返回时什么也没有——所有合并都存在。这可能是一个错误的合并提交,或者是什么让我们走到了这一步。是基于测试的分支主机吗 我能想到的原因是,在您当前的场景中,您的主分支位于测试分支之后,这意味着测试分支已经有了主分支的提交和它自己的提交 如果您使用的是github或gitlab,您可以查看网络图,看看它们有什么问题 另外,确保你没有在某个时候更改你的gitignore
如果master在测试之后,我认为您同步它们的唯一合理方法是将测试合并到master,但这将是您希望将其用于生产的时候。不是一个完整的答案,因为没有足够的信息来完成完整的答案,只有几点建议:
git日志测试--而不是master
。因此,您将获得在test
中但不在master
中的提交列表…master--不是test
)。很可能你会在这里得到一个空的列表gitpush-f
。但是,在强制覆盖远程远程远程遥控器的状态之前,请三思而后行gitk--all
)或远程服务(每个流行的主机(如github或gitlab)都有自己的webtools)git-burn
(甚至git-gui-burn
)来理解特定行的提交来源。或者,您可以git log-p
获取提交列表及其更改如果分支测试中已经有一些提交,那么测试和主测试之间存在差异是正常的。当您尝试合并时,它实际上尝试做的是在测试分支分叉后将主分支中的其他提交合并到测试分支中。如果主分支没有额外的提交,那么就没有什么可以合并(从主分支到测试)。@GordonLiang-正如我提到的,在这个特定的时间点上,我希望它们是相同的,因为我已经合并了所有内容,只是git diff表明它们不一样。