繁体   English   中英

如何比较两个 Git 分支并仅列出功能/主题(第二个)分支中的新提交

[英]How can I compare two Git branches and only list the new commits in the feature/topic (second) branch

我已经执行了以下步骤,但是当我将develop分支与feature分支进行比较时,我看到了两条提交消息,而不是我希望看到的只有 1 条提交。 一个是已经在develop中的先前提交,另一个是我在feature分支中所做的最新提交。

  1. 我已经从远程分支中提取并合并了本地develop分支
  2. 然后创建了一个新的develop分支
  3. 进行了更改并添加了这些文件和git commit -m "latest changes"feature分支中
  4. 执行git pushfeature分支推送到远程分支
  5. 当我将developfeature进行比较时,我看到了两个提交而不是一个(我在feature分支中创建的那个)

为什么会发生这种情况,我该如何解决这个问题?

回答您的问题:您可能会通过执行git log <parent_branch_name>..<your_feature_branch_name>看到两个分支之间的差异,例如git log develop..feature

关于您的情况:正如我所看到的情况,这种行为的最可能原因是在您的本地存储库中合并开发分支。 如果在合并过程中(仅供参考拉操作是组合提取和合并),合并没有快速处理,那么你得到另一个开发分支的 state,这里可能是合并提交,你可以比较提交哈希。

为了防止这种情况,您应该使用git pull --rebase命令来拉取一些本地分支。

如果您想在将本地功能分支推送到远程服务器之前获得最新更改,您还可以在您的功能分支上运行git pull --rebase origin develop ,然后提交的树看起来就像您刚刚从开发和放置在父分支提交后,所有在功能分支上创建的提交。

我希望,它会对你有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM