我已经将一个分支 merge 到 master 中,现在我可以在我的 git log
中看到它
一段时间过去了,现在我想知道我之前是否也将 master(通过该提交)推送到远程。如何判断是否已推送?
我可以想到一些解决方法,例如在其他地方重新克隆存储库,或者重置和检查然后重新 merge ,但我觉得可能有更简单的答案。
仅供引用,这与 How can I know in git if a branch has been already merged into master? 不同据我所知它已被 merge ,只是不知道远程推送。
最佳答案
做
> 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
指向最后推送到 origin 的提交。但是,您的分支 在 'origin/master' 之前
,这意味着您有一个本地提交是在最后一次推送提交之后创建的。
如果你感兴趣的提交不是最新的,那么你可以这样做
> git log --decorate --oneline
找出有问题的提交是在 origin/master
指向的提交之前还是之后。
如果提交发生在(在日志中比)origin/master
之后,那么它还没有被推送。
关于git - 如何知道对 master 的最新提交是否已推送到远程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21989388/