[cctbxbb] Git

Yuval Sadan yuval.sedan at mail.huji.ac.il
Wed Jan 13 00:19:44 PST 2016


Hey,

The little I can contribute to this discussion, as a small-time developer
in Rosetta, is that Rosetta was transferred from Subversion to git (on
GitHub) about a year and a half a go. The workflow that was decided was
creating a branch for each contribution, pull request when its ready,
testing in a (very cool) testing server <http://benchmark.graylab.jhu.edu/>
(which interfaces quite well with GitHub to fetch pull requests marked as
ready for testing, and sends feedback to GitHub about their testing status)
and then merging tested pull-requests into master. I joined the project
about the time of the transition, so other people can attest more to
difficulties, and how it affected code development, but as far as I can
tell, the project flourished as contributing to code became easier and less
intimidating ("what if I break master" --> "I can do anything on my own
branch"), and the master branch became far more stable, both thanks to the
great GitHub interface, the git infrastructure and speed, and the workflow
aspect.

As regarding to the tool itself - you get used to it, as you do to anything
else. It's built slightly different than svn, but in no manner more geeky.
There are many <http://git.or.cz/course/svn.html> handy
<http://gmatcentral.org/display/GW/SVN+and+Git+Command+Mappings>
dictionaries
<http://divby0.blogspot.com/2010/11/git-vs-svn-basic-commandline-syntax.html>
to assist.

Hope this helps.

Yuval

On Tue, Jan 12, 2016 at 10:55 PM, Nicholas Sauter <nksauter at lbl.gov> wrote:

> Great! Thanks,
> Nick
>
> Nicholas K. Sauter, Ph. D.
> Computer Staff Scientist, Molecular Biophysics and Integrated Bioimaging
> Division
> Lawrence Berkeley National Laboratory
> 1 Cyclotron Rd., Bldg. 33R0345
> Berkeley, CA 94720
> (510) 486-5713
>
> On Tue, Jan 12, 2016 at 12:45 PM, Luc Bourhis <luc_j_bourhis at mac.com>
> wrote:
>
>> > We discussed your "git add -p" suggestion in our group meeting just
>> now, and nobody here could explain why the command would be "git add"
>> rather than "git commit".  So if you want to commit all of your changes at
>> once you would use "git commit", but not "git add"?  Or is "git add"
>> mandatory anytime you want to commit any change and it is only the "-p"
>> flag that is optional?
>>
>> git has the concept of the staging area which svn does not have:
>>
>> - git add some_file.py will add the whole file to the staging area
>> - git add -p will let you select which chunks go into the staging area
>>
>> and you can mix and match those with different files at your heart
>> content. When the staging area contains what you want in your commit, then
>> you just do
>>
>> git commit -m ‘your commit message’
>>
>> and everything in the staging area will end up in that new commit.
>>
>> But sometimes, you just want to commit a single file and then you can do
>> the shortcut:
>>
>> git commit -m ‘message’ your_file.py
>>
>> which is equivalent to
>>
>> git add your_file.py
>>
>> followed by
>>
>> git commit -m ‘message’
>>
>> I hope this answers your question.
>>
>> Luc
>>
>>
>> _______________________________________________
>> cctbxbb mailing list
>> cctbxbb at phenix-online.org
>> http://phenix-online.org/mailman/listinfo/cctbxbb
>>
>
>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20160113/36ad512f/attachment.htm>


More information about the cctbxbb mailing list