From: Alain Kalker Date: Sun, 17 Feb 2013 19:51:10 GMT Subject: Re: Git bundles for backup and cloning: the Zaphod Beeblebrox thread Message-ID: In-Reply-To: On Sun, 17 Feb 2013 19:28:33 +0000, Alain Kalker wrote: > From the current documentation for git-bundle(1), it may not be clear > for users unfamilliar with Git, how to create a bundle which can be used > for backup purposes, or, more generally, to clone to a completely new > repository. > > Philip Oakley has posted a documentation patch some time ago, but Junio > has pointed out several concerns. > Ref: http://thread.gmane.org/gmane.comp.version-control.git/205887/ > focus=205897 > > Here's my attempt to summarize the concerns, adding some of my own, and > a possible solution. > > 1. "Missing HEAD syndrome" > $ git bundle create master -or- > $ git bundle create > -or- > $ git bundle create --branches -then- > $ git clone > > will be unable to checkout any files due to a missing ref for HEAD. > Though this can be fixed by going into and doing `git checkout > `, this is not very user-friendly. > > 2. "Detached HEAD syndrome" > $ git bundle create HEAD $ git clone > will checkout files alright, but leaves one in a "detached HEAD" state. > > 3. "Exploding HEAD syndrome" > $ git bundle create --all will add the HEAD, but will add refs from refs/*, including all remotes, > which is not desirable when cloning, unless one > sets up all the remotes as well. > > Finally, my solution for backing up only the local branches of a > repository: $ git bundle create --branches HEAD # for backup purposes -or- $ git bundle create master HEAD # for hosting or redistribution > but this may not be very > easy for new users to figure out on their own unless well documented > (perhaps a new flag?) > > Any comments or suggestions (including HHGTTG references!) are very > welcome. > > -Alain