How to determine master, origin, head

I find myself getting lost in git branches.

How can I determine what my origin/master/head is if I’m in an arbitrary git branch?

  • How to add library to forked cdnjs repo?
  • Git remote url with username in form of email address
  • Can “git push” hang on the same %?
  • How to get the latest tag name in current branch in Git?
  • Creating submodules in a recently converted svn to git repo
  • How to change a past git commit+push message in RubyMine?
  • This way I can predict the effects of commands such as those shown here.

  • Find first existence of a line of code in Git
  • Git is really slow for 100,000 objects. Any fixes?
  • How do I install git-subtree with Cygwin in Windows 7?
  • Add patch in git, all hunks matching regex in file
  • How do I check out a certain revision with Git?
  • Is there a way to get rid of the annoying help messages in git status?
  • 4 Solutions collect form web for “How to determine master, origin, head”

    It’s not clear from your question that you entirely understand what origin, master, and HEAD refer to – only one of them is actually a branch. (And it’s HEAD, not head.) It’s quite possible some of your confusion stems from a lack of understanding of a couple core things, so it really is a good idea for you to thoroughly read a references like the Git Book (which you linked to), starting from the beginning. You might also appreciate the Git Parable, which gives a friendly, story-like description of the basic ideas of Git.

    HEAD refers to the currently checked-out commit. It normally does so via a branch; HEAD points to the branch, which points to the commit – so usually we just talk about what branch is checked out. So you seem to be asking either how to determine what branch you have checked out, or what commit that branch points to. You can use git branch to determine your current branch, and also list your other branches. If you want to know more about the commit that branch points to, you could use git show (equivalent to git show HEAD).

    master is the default name given to the branch automatically created in a new repository. The convention (which is almost universally followed) is that the master branch is the stable branch, representing the canonical current content of the repository. This means that there is almost certainly a master branch in your repository, since you either created it or cloned it from somewhere that has a master branch. Again, it’s unclear exactly what you need, but a commonly used command is git log master, which will show commits starting from the tip of the master branch, walking back in history. If you want to also see the changes the commits made, add the -p option. Adding the --decorate option will tell Git to annotate commits with any branches pointing to them (e.g. you’d see master on the top commit). Use --graph to see ASCII art history graph, handy for understanding merges. See the git-log manpage for more options – there are plenty. If you prefer graphical history viewing, try gitk master. To include all branches, including remote ones, you could use gitk --all.

    origin is the name for the default remote. When you clone a repository, this is automatically set up for you. You can see some information about it using git remote show origin, which will show you the URL for the repo, its HEAD, the branches on the remote, and any local branches tracking those remote branches.

    you can always see what your tracking branches are doing with

    git branch -r | xargs git log --decorate
    

    add --graph if you want to see how they are related with branching and merging. Refresh the tracking branches with

    git fetch
    

    You could you gitk to visualise your branch structure

    You can use something like this to display your brach

    Git Baby is a git and github fan, let's start git clone.