是否有可能/如何在本地存储库中获取某个远程副本的最后一次提交?

时间:2014-05-26 10:26:39

标签: git logging

我试试:

git log -n 1 --pretty=format:%H --remotes=upstream/master

但它从另一个分支和另一个远程

返回最后一次提交

如果我这样做

git log -n 1 --pretty=format:%H --remotes=upstream

它从我分叉这个存储库的时间/地点返回我的提交...

又添了一个例子:

>git fetch upstream master
From git://github.com/fsharp/fsharp
 * branch            master     -> FETCH_HEAD

>git ls-remote upstream master
81c94470de1587902a20f40741388e361dc09690        refs/heads/master

>git log -n 1 --pretty=format:%H upstream/master
2898aa10ec5022fdfb79e5c3a6350d58737964cc

>git log -n 1 --pretty=format:%H FETCH_HEAD
1c94470de1587902a20f40741388e361dc09690

1 个答案:

答案 0 :(得分:1)

最可靠的方法是首先获取该遥控器:

git add aremote /url/of/that/remo
git fetch aremote
git log -n 1 --pretty=format:%H aremote/master

您可以检查FETCH_HEAD是否至少在右侧SHA1

git log -n 1 --pretty=format:%H FETCH_HEAD

如果是,请检查您是否没有名为' upstream/master'的标签。哪个"影子" refs' upstream/master'。

OP Heather提及in the comments获取正确的SHA1:

git merge-base master upstream/master