I try git log
w/ --decorate
and --source
options. But still can not get the branch name of commit 2f3cb60
and d7e7776
, Why?
#git log 2f3cb60 --graph --decorate --source --all --oneline ... * | | | 1920ad5 refs/heads/gpio support gpio lib | |/ / |/| | * | | 2f3cb60 2f3cb60 fix * | | d7e7776 2f3cb60 fix | |/ |/| * | aa4dcfb refs/remotes/origin/httpd support * | cfc839d refs/remotes/origin/httpd add folder
How do I show git log with branch name?
Graph all git branchesDevelopers can see all branches in the graph with the –all switch. Also, in most situations, the –decorate switch will provide all the supplemental information in a formatted and nicely color-coded way.
$ git log --graph --decorate --oneline * 1f3e836 (HEAD, origin/v2, v2) Change scripts to new format. * 34d458f (origin/master, master) Merge branch 'new-shell' |\ | * 995ece7 (origin/new-shell) Fix index.html and add script pushing. | * fe0615f New shell hello-world. |/ * fe1b1c0 Progress. ...
git log --graph --decorate --oneline
should show you names of the commits that have names. Not every commit is associated with a branch name.
Remember, a branch name is just a pointer to a particular commit. Each commit has a parent, so one commit may be a part of the history of a dozen separate branches.
git branch --contains <ref>
.git name-rev <ref>
.If you need a shell-scriptable ("plumbing") list of all branches containing a commit, try this:
commit=$(git rev-parse <ref>) # expands hash if needed for branch in $(git for-each-ref --format "%(refname)" refs/heads); do if git rev-list "$branch" | fgrep -q "$commit"; then echo "$branch" fi done
See also: SO: Finding what branch a commit came from
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With