如何知道是否已将最新的主人推送至远程?

我已经合并了一个分支到master,现在我可以在我的git log看到

一段时间过去了,现在我想知道我以前是否也曾将主控(通过该提交)推送到远程。 我怎么知道它是否被推?

我可以考虑一些解决方法,比如在其他位置重新分配资源库,或重新设置并检查,然后重新合并,但我觉得可能有一个比较简单的答案。

fyi这与我在git中如何知道一个分支是否已经合并到master中不同? 因为我知道它已被合并,只是不知道远程推送。


> git status

如果输出是

# On branch master
nothing to commit, working directory clean

然后你推送了当前的提交。

如果输出开始于

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#   (use "git push" to publish your local commits)

然后你有一个尚未推送的本地提交。 您看到这一点是因为远程分支origin/master指向上次被推送到原点的提交。 然而,你的分支ahead of 'origin/master' ,这意味着你有一个在最后一次推送提交之后创建的本地提交。

如果你感兴趣的提交不是最新的,那么你可以做

> git log --decorate --oneline

找出提交的问题是在origin/master指向的提交之前还是之后。
如果提交在origin/master之后(在日志中高于),则它未被推送。


如果您进行了多次提交并且不确定其中哪一个已被推送到远程,请尝试以下操作:

git log origin/<remote-branch>..<local-branch>

例:

git log origin/master..master

这将列出您本地分支中尚未推送到所提及的远程分支的所有提交。


我建议你运行这个:

$ git fetch --all
Fetching origin
Fetching upstream

这将从所有遥控器获取最新数据。

然后你运行:

$ git branch -v
  master       ef762af [ahead 3] added attach methods
* testing      4634e21 added -p flag
  upstream     1234567 [ahead 1, behind 7] updated README.md

这将显示你前面或后面的分支。

我发布这个是因为没有其他答案提到获取远程数据,那一步至关重要。

链接地址: http://www.djcxy.com/p/26047.html

上一篇: How to know if latest commit to master has been pushed to the remote?

下一篇: Edit distance between two regular expression