[Users] Checking out branches with GetComponents

Bruno C. Mundim bcmsma at astro.rit.edu
Tue Jun 15 10:20:23 CDT 2010



Barry Wardell wrote:
> Hi,
> 
> On 15/06/2010 16:09, Erik Schnetter wrote:
>>> It seems that git clone has a "-b" option to specify which branch to
>>> check out after the repository is cloned, but this doesn't seem to
>>> exist in anything but the latest versions of git (for example, it
>>> exists in 1.7.1 but not in 1.6.1).  So a separate "git checkout"
>>> command will have to be run by GetComponents.
>>>     
>>
>> We also need to collect on the wiki the commands that we need to  
>> execute to create these branches in the first place.  It's not trivial  
>> for git.
>>
>> Do you have experience with branches in git?  Is it easier to use  
>> branches, or to have separate repositories and push/pull changes in  
>> between?
>>   
> I think the best thing is to just have a single repository with a tag 
> and branch for each release. This is quite straightforward to do:
> 
> 1. Tag the current revision (if you want the revision signed, use 
> something other than -a):
> 
>     git tag -a ET_2010_06
>     git push --tags
> 
> 2. Create a branch for the revision:
> 
>     git branch ET_2010_06
>     git push origin refs/heads/ET_2010_06
> 
> If you then want to checkout the new branch, you use:
> 
>     git checkout -b ET_2010_06 origin/ET_2010_06
> 
You probably want to checkout with --track so you can follow any 
possible changes in that branch:

git checkout --track -b ET_2010_06 origin/ET_2010_06


> If you make a mistake and want to remove the remote branch, then you can 
> do so with:
> 
>     git push origin :refs/heads/ET_2010_06
> 
> A good model for a large project working with git is the VLC project. 
> They create a tag and branch for each release. In their case, they have 
> the branches in separate repository, but only because there are so many 
> extensive changes between versions and the single repository was getting 
> quite large. I don't think in this case it is so important, but it can 
> always be done at a later stage anyway. They also have a useful page 
> listing all the useful commands they use for working with their 
> repositories: http://wiki.videolan.org/Git
> 
> Regards,
> Barry
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Users mailing list
> Users at einsteintoolkit.org
> http://lists.einsteintoolkit.org/mailman/listinfo/users


More information about the Users mailing list