[当git diff ..除了git diff…返回更改,什么都不返回时如何解析分支?

问题描述 投票:0回答:3

我认为我的母版和发行版分支有所不同,我想知道使它们恢复同步的最佳方法是什么。

我有一个master分支,应该将其用于开发,但是随后我将把这个master分支合并到release分支中,以创建可以部署的最终版本。一切正常,但是从一周前开始,每当我尝试创建从master合并到release的拉取请求时,我都会获得应在release中的提交列表。我将合并PR,但是每次尝试从master合并到release的新PR都会一直发生。

我尝试查看更改以确保两个分支都相同

git diff upstream/master..upstream/release没有区别。

git diff upstream/release..upstream/master也没有区别。

但是git diff upstream/master...upstream/release给了我所有提交以来的更改,因为那一次可能使我的两个分支分开了。

我认为可能发生的事情是,我的两个分支的原始代码相同,但是它们的提交不同?我仍在学习git以及如何更有效地使用它的课程,因此对您的帮助将不胜感激!

git github merge version-control rebase
3个回答
0
投票

我敢打赌,如果您运行git diff upstream/release...upstream/master,您将获得与在那里发布的第3条命令相同的输出...是的,分支已经分歧,但是它们具有相同的内容,这就是为什么2与diff没有区别的原因。点,但输出为3点。

仍然无法回答您的问题。这实际上取决于您所说的“使它们同步”。

  • 如果您是指have the same content:他们已经这样做了
  • 如果您指的是get the branch histories together,则可以尝试将它们合并。
  • 如果您指的是get one branch to have the exact same history as the other,则意味着重置--hard(因此重写了历史记录)和一些强制推动。

0
投票

TIL:git diff.....git log的解释不同。

  • [git diff a..b(两个点)与git diff a b]相同>
  • [git diff a...b(三个点)将ab的合并基数与b进行比较
  • 请参见docs的“描述”部分。

运行:git log --oneline --graph upstream/master upstream/release,您将查看提交的布局方式。


您的两个点diff命令确实向您显示了两个分支具有相同的内容。

“合并基数”是两个分支之间的分支点,您在三个点中看到的差异是该分支的提交与头部提交之间的区别。


0
投票

我认为可能发生的事情是我的两个分支的原始代码相同,但是它们的提交不同?

© www.soinside.com 2019 - 2024. All rights reserved.