Git找到第一个非本地提交
相关:列出尚未推送到源的 Git 提交
git rev-parse HEAD给了我工作区中的最新提交,但这可以是本地提交的 gitash。换句话说,尚未推送到远程的提交
我如何找到工作区中远程也存在的最新提交
回答
要在当前签出的分支的配置远程分支上获取最新提交,请执行
# first get your remote-tracking branches up-to-date with remote
git fetch
# then do
git rev-parse @{upstream}
# or even just
git rev-parse @{u}
(注:@{upstream} / @{u}在没有占位符,他们注定要被分类为是)
从文档:
[<branchname>]@{upstream}, eg master@{upstream}, @{u}
分支名的后缀@{upstream}(缩写@{u})指的是branchname指定的分支所设置的分支建立在(配置有 branch..remote 和 branch..merge)之上。缺少的分支名称默认为当前分支名称。