Question about Source Control

Albert-Jan Roskam fomcl at yahoo.com
Sat Mar 22 16:01:22 EDT 2014


Hi,

I can recommend the book "Pragmatic Guide to Git". Very practical and to the point:

http://www.amazon.com/Pragmatic-Guide-Git-Programmers/dp/1934356727/ref=sr_1_1/184-0142481-0484062?ie=UTF8&qid=1395518159&sr=8-1&keywords=pragmatic+guide+to+git


I addition, I read a big fat super-exhaustive book, I believe it' s this one (there are two Git books with a bat!):

http://www.amazon.com/Version-Control-Git-collaborative-development/dp/1449316387/ref=sr_1_2/184-0142481-0484062?ie=UTF8&qid=1395518159&sr=8-2&keywords=pragmatic+guide+to+git


The former is for common tasks that are not common enough to remember right away. The latter is for reference.

I only have experience with git and subversion. I like git much better. But any SCM is better than none at all.

 
Regards,

Albert-Jan




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

All right, but apart from the sanitation, the medicine, education, wine, public order, irrigation, roads, a 

fresh water system, and public health, what have the Romans ever done for us?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 





On Saturday, March 22, 2014 7:49 PM, Tim Chase <python.list at tim.thechases.com> wrote:
 
On 2014-03-22 17:32, Albert van der Horst wrote:
>> >I don't know if this is a hg-vs-git way of thinking, but I tend to
>> >frequently commit things on a private development branch regardless
>> >of brokenness, but once I get it working, I flatten & clean up
>> >those changes ("rebase" in git terms, which I believe has been
>> >adopted as a standardly-available-but-not-enabled-by-default
>> >module in hg) into logical units of change-sets that I then test
>> >individually before applying them to my more public-facing
>> >branch.  This produces clean history that makes it easy for others
>> >to see what's going on.  
>> 
>> I see it this way that all code is broken to at least a small
>> extent, so it is stupid to not to save into source control because
>> code is not yet flawless.
>
>I agree that skipping the commits just because it might be broken is
>a foolish idea.  However, with most VCS tools, your commits can look
>something like
>
>  Baseline -> A -> B -> C -> D -> E -> F -> G {head/tip}
>
>but A, C, & E all comprise one conceptual change, while B & G are
>another, and D & F cancel each other out.  You can either cherry-pick
>those changes or rebase (with git or the hg plugin) so that the
>history looks like
>
>  Baseline -> (ACE) -> (BG) {head/tip}
>
>With git, the history isn't actually discarded immediately, but
>rather just gets a parallel version (which may or may not have a
>reference to it; if it doesn't it will get cleaned up about a month
>later according to your garbage-collection settings) so your repo
>ends up looking something like
>
>  Baseline -> A -> B -> C -> D -> E -> F -> G {orphaned or named}
>        \---> (ACE) -> (BG) {head/tip}
>
>You can then publish that conceptually clean (and hopefully
>tested&working) branch while simultaneously having the full history
>in the event you need it.  That said, I almost never want the
>intermediate work product once I have a final clean version, so I
>just let git GC that for me.
>
>
>-tkc
>
>
>
>
>
>
>
>
>
>
>
>
>
>-- 
>https://mail.python.org/mailman/listinfo/python-list
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140322/aa9b1b46/attachment.html>


More information about the Python-list mailing list