菜鸟笔记
提升您的技术认知

git 集合运算-ag真人游戏

1 差集

有时候使用git的时候我们想对比两个branch有哪些不同,比如发code review的时候,如果能有一个命令可以给我们展示两个branch的不同,即差集,那将会很方便。

git有double dot语法可以做这个事情:

git log master..hongchangfirst_branch

它会将所有在hongchangfirst_branch分支里而不在master分支里的所有commit列出来,这样我们就可以很容易的知道两个branch的差异。

如果想查看所有在master分支里而不在hongchangfirst_branch分支里的差异,将两个branch变换顺序即可。

还可以看看远程分支和本地分支的不同:

git log origin/master..head

git还有另外类似的语法可以做相同的事情,比如:

git log master..head

git log ^master head

git log head --not master

这三个命令是一样的。

后两个语法允许我们可以对比多个分支,如:

git log master hongchangfirst_branch ^zhc_branch

上述命令求出所有在master和hongchangfirst_branch有但zhc_branch没有的,即 master和hongchangfirst_branch的并集与zhc_branch的差集。

2 全差(并集与交集的差集)

有时候我们想看两个分支有哪些不同,即左差和右差的并集。我们可以使用triple double语法,如:

git master...head

a

b

如果想列出来哪个commit是哪个分支的,可以使用--left-right参数。

git --left-right master...head

< a

> b

我们就知道里a是在master里,b是在head里。

网站地图