我有一个本地分支跟踪远程/主分支。在运行git-pull和git-log之后,日志将显示远程跟踪分支和当前分支中的所有提交。但是,由于对远程分支进行了如此多的更改,所以我只需要查看提交到当前本地分支的情况。
要使用什么Git命令来只显示特定分支的提交?
注:
配置信息:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
我有一个本地分支跟踪远程/主分支。在运行git-pull和git-log之后,日志将显示远程跟踪分支和当前分支中的所有提交。但是,由于对远程分支进行了如此多的更改,所以我只需要查看提交到当前本地分支的情况。
要使用什么Git命令来只显示特定分支的提交?
注:
配置信息:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
当前回答
假设你的分支是从master上创建的,那么在分支中(也就是说,你已经签出了分支):
git cherry -v master
or
git log master..
如果你不在分支中,那么你可以将分支名称添加到“git log”命令中,就像这样:
git log master..branchname
如果你的分支是由origin/master创建的,那么说origin/master而不是master。
其他回答
对于那些使用Magit的人,点击l和=m来切换-no-merges和=pto toggle -first-parent。
然后再次点击l来显示从当前分支(没有任何提交合并到它)到历史结束的提交,或者,如果你想让日志结束在它从master分支出来的地方,点击o并输入master..作为你的范围:
运行git log origin/$BRANCH_NAME即可
这是一个狡猾的新时代GUI的答案,但无论如何,在Xcode中显然有一个可视化工具。
我修改了建议的答案,以包括lg1外观。
[alias]
lg1b = "!cd -- \"${GIT_PREFIX:-.}\" && CURRENT_BRANCH=$(git branch --show-current) && git log $CURRENT_BRANCH --graph --abbrev-commit --pretty='format:%C(bold blue)%h%C(reset) %C(bold green)(%ar)%C(reset) %s %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --decorate --not $(git for-each-ref --format='%(refname)' refs/heads/ | grep -v refs/heads/$CURRENT_BRANCH) #"
对于lg1命令,请参考这个:漂亮的Git分支图
如果您只想要那些在特定分支中由您完成的提交,请使用下面的命令。
git log branch_name --author='Dyaniyal'