git 如何查看commit所属的分支

工作中,为了加快工作进度,避免重复造轮子,我们时常需要去查找其他人是否有过相关的 git 记录,此时就可以使用 git log 命令,这个命令的用法有多种,得到的结果也会有差异。

查找包含 message 的 commit 时,可以使用如下这些命令:

#查当前分支
git log | grep "message"
#查本地的BanchName分支
git log BanchName | grep "message"
#查远程的BanchName分支
git log origin/BanchName | grep "message"

上面的命令,不管是查当前分支,还是查其它分支,前提都是已经知道了具体的分支

如果不知道具体分支时,那就用下面的命令,查询全部的分支:

git log --all | grep "message"

这样虽然能查到所有相关的 commit,但不会显示该 commit 所属的分支信息。 不过,我们可以直接将修改记录show出来,一样能看到别人是怎么做的:

git show CommitID

但是,show 只能查看diff代码,如果修改量大,并且存在项目差异化,cherry-pick 不合适,我们就需要去找到源文件,然后手动进行对比合入。此时就可以通过如下命令去查所属的分支了:

#查本地所有分支
git branch --contains CommitID
#查远程所有分支
git branch -r --contains CommitID
#查本地和远程的所有分支
git branch -a --contains CommitID