有时从远程存储库获取后,我看到我的分支落后了:
> git status
On branch develop
Your branch is behind 'origin/develop' by 7 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
在更新我的本地分支之前,我想查看我将要获得的内容的日志。我可以使用
> git log develop..origin/develop
既然我已经在develop
分支,有没有办法以更少的打字量来完成上述操作?也就是说,不提供本地和远程分支名称?
这将特别有用,因为我经常切换到功能分支,并且也希望看到这些分支的此类日志。
是的,一种简短且与分支无关的方法是使用@{upstream}
构造 https://git-scm.com/docs/revisions#Documentation/revisions.txt-emltbranchnamegtupstreamemegemmasterupstreamememuem :
git log ..@{u}
(注:由于此处省略了范围的第一部分,HEAD
是隐含的,但完整的详细语法是HEAD..HEAD@{upstream}
.)
当然,将其设置为非常方便alias.behind
(例如)因为它会使用你所在的任何分支。
评论后编辑:我添加了有用的对应项alias.ahead
检查即将推送的提交(有一个问题: while@{upstream}
指的是您的配置将拉取的远程分支from,配置中设置要推送的分支to is @{push}
(doc https://git-scm.com/docs/revisions#Documentation/revisions.txt-emltbranchnamegtpushemegemmasterpushemempushem)). In some特定的三向设置,这些设置可能有所不同,但在大多数简单的工作流程中都指向同一远程的同一分支。但这只是以防万一。
git config --global alias.behind 'log [any format option you prefer] ..@{u}'
git config --global alias.ahead 'log [any format option you prefer] @{push}..'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)