如何解决与分支名称检查的“汞日志”等效的Git
我想列出在特定分支中直接完成的所有提交。在hg中,我可以使用以下命令来获取它。
hg log -b {branchname}
我尝试使用不同的git命令来实现相同的功能,但是没有什么用。
git log --no-merges
git log --no-merges --first-parent
git log ---no-merge ^HEAD ^master
git log --branches={BRANCH}
如何列出直接在给定分支中提交但不与其他分支合并的所有变更集。
解决方法
首先,git和mercurial之间存在根本的区别:
Mercurial具有多种对象,其中包括:分支和书签。git
分支就像hg
书签,而不像hg
分支。
您将始终只能看到git分支的头提交历史,而不能看到它经历的中间状态的实际顺序。
似乎您已经尝试过与“分支的历史”接近的事情,我建议:
git log --first-parent
git
还会记录您的本地分支如何通过以下方式演变:
git reflog <branchname>
但是如果您的分支在某个时候被重命名,则可能会刷新此日志。
您还可以部分了解远程分支如何演变:
git reflog origin/<branchname>
此日志仅在您fetch
(或pull
)时更新,因此,如果其他人在两个fetch
之间对分支进行了多次更新,则可能会错过几个中间步骤。 / p>
如果您想查看branch
上不属于master
的提交,请尝试:
git log master..branch
# which is the same as :
git log ^master branch
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。