git:如何查看对单个分支的提交
一位同事从master创建了一个本地分支(“branchA”),做了一些工作,推送它,合并到master中,再做一些工作,然后再次推送它。同时,其他同事也在其他分支上工作,并将它们合并为master 现在我需要拉branchA来复习。所以我做了一个git:如何查看对单个分支的提交,git,Git,一位同事从master创建了一个本地分支(“branchA”),做了一些工作,推送它,合并到master中,再做一些工作,然后再次推送它。同时,其他同事也在其他分支上工作,并将它们合并为master 现在我需要拉branchA来复习。所以我做了一个git pull和git checkout-b branchA origin/branchA,这很好。但是所有命令(git-diff/log/show)都显示了在repo中所有分支上进行的提交 如何查看branchA的所有提交与创建branchA的ma
git pull
和git checkout-b branchA origin/branchA
,这很好。但是所有命令(git-diff/log/show)都显示了在repo中所有分支上进行的提交
如何查看branchA的所有提交与创建branchA的master版本之间的差异
另外,我如何才能针对当前的主控头查看branchA的git diff,而只查看branchA内更改的文件?您可以使用
git log--branchs=mybranch
这将显示登录特定分支机构的日志。以下内容适用于您的第二个问题,即如何查找分支机构与本地当前版本的主文件之间的差异。您希望在
git log
中使用“双点”语法,以查看branchA
中未在master
中的所有提交。也就是说:
git log master..branchA
根据git日志
手册页:
SYNOPSIS
git log [<options>] [<since>..<until>] [[--] <path>...]
...
<since>..<until>
Show only commits between the named two commits. When either <since> or <until> is omitted, it defaults to HEAD, i.e. the tip of the current branch.
For a more complete list of ways to spell <since> and <until>, see gitrevisions(7).
最后,您可以对git diff
使用完全相同的语法,即git diff master..branchA
和git diff master..branchA
另外,如果您签出了branchA
,甚至不需要将其指定为
。如果未指定,Git将假定HEAD
,因此这两组命令是等效的:
git checkout branchA
git log master..
及
Git提交不保留关于“提交到哪个分支”的信息。他们只给你一分,你可以从树上走回来。一旦发生合并,您就无法从合并提交中确定哪个父级来自您开始的分支。对此进行了详细讨论 这是我的理解。如果我错了,我希望被纠正
git diff master..brnachA
:将比较master负责人和branchA之间所有修改的文件git diff master…brnachA
:将branchA与创建它的master版本进行比较git diff
将在命令行中生成输出。如果要在某些可视化工具中查看输出,请使用git difftool
您也可以将所有的
git diff
参数和选项传递给git difftool
。git log HEAD..branch当您在主分支上时
查看此处了解更多详细信息:这不起作用。也许是因为我融入了大师,但我看到了其他人的改变。-2-不太正确。它将返回
master
或branchA
中的提交,但不能同时返回两者。如果master
高级50次提交,但branchA
已完全合并,它将返回master中的50次提交。这不会将branchA
与它在master中的合并基进行比较,这似乎是第一个问题?
git checkout branchA
git log master..
git log master..branchA