git: check if commit xyz in remote repo?

后端 未结 3 1762
旧巷少年郎
旧巷少年郎 2020-12-05 03:50

I have a commit xyz in my local branch that I want to check if it is included in a remote release repository; can I do that in some easy way? I could clone the remote repo,

3条回答
  •  难免孤独
    2020-12-05 04:19

    Let's suppose that the remote that refers to the remote repository is called origin. In that case, first update all your remote-tracking branches with:

    git fetch origin
    

    Now you can use the useful --contains option to git branch to find out which of the remote branches contains that commit:

    git branch -r --contains xyz
    

    (The -r means to only show remote-tracking branches.) If the commit xyz is contained in one or more of your remote-tracking branches, you'll see output like:

      origin/test-suite
      origin/HEAD -> origin/master
      origin/master
    

    If it's contained in your local repository, but not one of the remote-tracking branches, the output will be empty. However, if that commit isn't known in your repository at all, you'll get the error malformed object name and a usage message - perhaps a bit confusing if you're not expecting it...

提交回复
热议问题