我怎样才能“git log”只发布到trunk的代码?

时间:2010-04-01 15:40:30

标签: git branch logging

在我的工作场所,我们有一个代表已发布代码的“主”主干分支。要进行更改,我会查看工作副本,创建主题分支,提交主题分支,将主题分支合并到主分支中,然后推送。

对于小的更改,我可能会直接提交master,然后推送。

我的问题是,当我使用“git log”时,我并不关心我的本地工作副本中的主题分支。我只想在远程共享git服务器上看到对master分支的更改。更重要的是,如果我使用--stat或-p或他们的一个朋友,我希望看到与合并提交相关联的文件和更改为master,而不是与原始分支提交相关联(就像我说的那样,我不喜欢根本不想看到。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

这应该可以解决问题:

git log origin/master

您可能希望首先执行git fetch以从远程端下拉任何新提交(这不会将它们合并到您的本地分支中)。

答案 1 :(得分:1)

听起来你实际上想要diff,而不是log,因为它听起来像你想要一个大的--stat或-p列表,而不是通过它最初发生的提交来分解它。

git diff [--stat] origin/master...master

这将显示您的主分支(在主题分支中合并之后)与origin / master和master之间的合并基础相比的差异。这里重要的是使用“...”而不是“..”。

如果您想在将主题合并到母版之前查看所有这些内容,则可以将上述示例中的最后一个“母版”替换为主题分支的名称,或者如果您当前拥有主题,则将其完全取消分店检查出来。

git diff [--stat] origin/master...

答案 2 :(得分:0)

您可以运行git log --graph --oneline,以明确当前分支上的哪些提交(尽管它不排除那些不在列表中的提交)。

如果您使用的是git-svn,git log --grep git-svn-id将只显示日志消息中的git-svn-id提交(当提交被推送到svn时由git添加)。