On Wed, 25 May 2011 23:32:42 -0700 (PDT)
paymaster <baekseon...@gmail.com> wrote:

> I want to know history of branch..
> if someone deleted branch... or made branch...

This is a somewhat complicated topic.

First, there's a question about what precisely do you count as creation
and deletion of branches: branches can be created or deleted in a local
repository due to the user running something like `git checkout -b
newbranch` and `git branch -D oldbranch`, or branches can be created or
deleted in a remote repository due to the user doing `git push`.

If you're talking about this case, then the general answer is no:
branches and tags are merely files under the Git's data directory
(".git" in non-bare repos) and they are not versioned.
On the other hand, non-bare repositories by default have
a facility called "reflog" [1] turned on. This can't show you who and
when deleted a branch, but usually you can recover a deleted branch by
checking out an appropriate reflog entry.

Second, contrary to commits which have strong identity (their author,
committer, timestamp etc recorded with them), branches and tags are not,
and this was intentional as only graphs of commits represent real
history, and branches/tags are only helpers to reference particular
commits.  Hence maybe you should rethink your approach to Git's data
model entirely and stop putting too much sense into branches and tags.

Third, it's quite possibly that you're trying to recover from a
situation resulted from someone (inadvertently) removing a branch from
a "central repository" everyone syncs to.

In this case you should probably either look at Git hooks [2] which
allow you to perform various actions when someone pushes to the
repository (so you can at least log what happens) or turn to more
involved "server-side" solutions like gitolite [3] or gitosis--they
allow you to control who can do what just by editing certain
configuration files.

1. http://www.kernel.org/pub/software/scm/git/docs/git-reflog.html
2. http://www.kernel.org/pub/software/scm/git/docs/githooks.html
3. https://github.com/sitaramc/gitolite

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to