Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git “我怎么能?”;吉特日志;只有发布到主干的代码?_Git_Branch_Logging - Fatal编程技术网

Git “我怎么能?”;吉特日志;只有发布到主干的代码?

Git “我怎么能?”;吉特日志;只有发布到主干的代码?,git,branch,logging,Git,Branch,Logging,在我的工作场所,我们有一个代表已发布代码的“主”主干分支。要进行更改,我签出一个工作副本,创建一个主题分支,提交到主题分支,将主题分支合并到master,然后推送 对于小的更改,我可以直接提交给master,然后推送 我的问题是,当我使用“git日志”时,我不关心本地工作副本中的主题分支。我只想看到对远程共享git服务器上主分支的更改。更重要的是,如果我使用--stat或-p或他们的朋友之一,我希望看到与合并提交到master相关联的文件和更改,而不是与原始分支提交相关联的文件和更改(就像我说的

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

对于小的更改,我可以直接提交给master,然后推送

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


我该怎么做呢?

听起来您实际上想要的是diff,而不是log,因为听起来您想要一个大的--stat或-p列表,而不是最初发生在中的commit

git diff [--stat] origin/master...master
这将显示主分支(在主题分支中合并后)与原始/主分支和主分支之间的合并基础的差异。这里重要的是使用“…”而不是“.”

如果您想在将主题合并到master之前查看所有这些内容,您可以将上面示例中最后一个“master”替换为主题分支的名称,或者如果您当前已签出主题分支,则可以将其完全禁用

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

这应该可以做到:

git log origin/master

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

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

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

try git log--merges。反向是git log--no-merges.git log--merges将忽略直接提交到主分支的提交--stat也不会将主题分支提交中发生的更改与合并提交相关联。所以,合并不是我想要的。