Keeping track of branches on Git?

Possible Duplicates:
How do you annotate a branch?
Branch descriptions in git

I have a repo with lots of branches. Maybe 12 or so, and they won’t be merged into master anytime soon.

  • How can I find out which files have been modified in a branch?
  • Git: How to merge a small, but very old branch?
  • Manage multiple git release branches for multiple customers
  • git: Switch branch and ignore any changes without committing
  • Git Merge deletes new files of base branch
  • How to create a new source code branch using TFS API?
  • Is there a way to document the purpose of each branch within git?

    The thing I seek is to a branch what a commit message is to a commit.

    I don’t think tags are what I want, because tags don’t follow the HEAD as I add more commits to a branch.

    I could write a plaintext file listing the state of each branch with some notes, but its not obvious which branch the text file would go in.

    To clarify, I do name my branches. But I would want to be able to have a description too. So for example I would want to write for branch RTPhase:

    This branch has added features to support real-time analysis of curvature and phase. As a trade off it runs more slowly than other branches because it uses functions like calculate mean curvature that haven’t been optimized for speed.

  • git push to different branches on multiple remotes
  • Working in git with directories with the same name but different case in Windows
  • How do I permanently remove files in git from tags?
  • Embed Git bash in PyCharm as external tool and work with it in PyCharm window
  • Git and Mercurial: what would be equivalent of Git workflow in Mercurial?
  • Relationship between n git branches
  • 3 Solutions collect form web for “Keeping track of branches on Git?”

    The answer I’m coming to about this is to devise a convention that I can hew to rigidly.

    My master “release” branch is called “master”. My “hotfix” branch (for fixes live in production) is called “hotfix”. My branch for development on the next release is called “dev”.

    Then I make any branches off of those branches carry the name. So a feature branch for something I’m working on here to do with maps is called “dev/maps”. I have a survey feature I’m adding in a branch “dev/survey”.

    If I had a hotfix that was going to take any real time to do, I’d probably branch into “hotfix/short-description-of-branch”.

    The slash doesn’t have any syntactic value in a branch name, it’s just text, but I use it to imply “inside-ness”.

    You might not like it, but just for fun ( atleast for me 🙂 the below is what I would do:

    In your branch do git notes add -m "this branch is for blah blah"

    Then write a post-commit in your repo with the following:

    git notes show HEAD~1
    git notes copy HEAD~1 HEAD

    Additionally add a git notes remove HEAD~1

    Use git notes show to see what the branch is for. Tadaaa! 🙂

    Without knowing what you are doing, you might find a different workflow with a workflow support tool easier to use. For example: and the associated gitflow support tool.

    It doesn’t have branch descriptions per-se, but perhaps if you added that feature it would be accepted.

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