----- Original Message ----- 

                  I need certain best practices / guidance around how to 
effectively version control advance analytical models written in Python / Spark 
on Git. The advanced analytical models are a bit different to the normal Java 
code. As the training of the advanced analytical models is iterative therefore 
any guidance around at what time we should commit the code into Git will be 
quite useful for me.
            
                  Thanks for your response in advance !


  Thanks,

  Debu

Hi 

I develop personal analytic programmes in Matlab, which isn't that far away - 
it's line oriented code, it's interactive, and there is no 'specification' for 
the local functional code that allows test driven development (or any of that 
fancy stuff that presumes knowledge aforethought).

I commit every few minutes as soon as I have code that does some step the way I 
wanted, even if the overall code is failing. I typically use the 'git gui' to 
allow the code changes to be picked off into small groups that cover some 
aspect, with a short commit note. 

By having such fine grained commits I can go back to any point in the 
development and re-generate graphs and results that were 'interesting' at the 
time and are now an important item for inclusion in some report.

I do this on a separate personal branch, such that if I make a significant step 
(make X work) then I can merge that into master (--no-ff). 

I'm not usually co-developing with overlapping code areas. When I did that in 
the past (pre-git) my colleague had the more tricky code and he used one of the 
many three-way merge tools (in his case Beyond Compare) to carefully select the 
changes (typically in Visual Studio Gui displays where VS auto changes idents 
under the hood - he coordinated that).

Don't wory about the volume of changes - git will compact up the history just 
fine. 

Avoid including large binary blobs unless they are careflully selected 'point 
data of record' (e.g. a specific data set).

Philip

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to