Lee Marzke on 10 Dec 2010 09:34:52 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] new to git - have questions


I'm a perforce user myself, but generally the question to branch or not depends on if conflicts will be avoided by doing so, and the stability requirements of main (trunk).

If there are only 2 programmers, and no-one else using the code, then the 2nd programmer doesn't really need to branch as their work won't interfere. If there are others using the code base - and you don't want intermediate (unstable) check-ins to main - then perhaps the 2nd programmer
should also create a branch.

Note that Git as used on the Linux kernel has a defacto destributed workflow related to Linux and his Leutenants and that may not match well with a commercial company with a central repository. Normally with the kernel and Git each developer would have his own copy of the code ( which is a branch ) but you have described using a central repository, but while supported, this is normally somewhat against grain of many Git users. So if you want a good description of how to use central repositories, there is much more
information available outside of Git.

For a good discussion on when and why to branch ( in a tool neutral fashion ) there is a
pattern language published here:

http://www.cmcrossroads.com/bradapp/acme/branching/

There is also "High Level Best Practices in SCM" which is also mostly tool neutral:

http://www.perforce.com/perforce/papers/bestpractices.html

For instance this recommends to:

- Branch only when necessary
- Branch Late (for release)'
- Branch on incompatible policy ( e.g Main must be stable, but #2 developer has unstable check-ins to submit )

Now if you only have 2 developers this may be overkill, but if you work with larger dev teams of 20 or 50 or
more developers and testers this may make sense.


-Lee


On 12/10/2010 12:04 PM, Eric at Lucii.org wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

New git user here.

Project is in git (yay!)

Two programmers are now going to work on it and I don't have a good idea of the
work flow.

Programmer A works on the widgets, B works on the core

Do we:

   create two branches, "new widgets" and "updated core", in the main repository
   each programmer pulls the branch from
                   modifies, adds, commits,
                   pushes back to their branch in the main repository
     (Merge takes place in the main repository)

- -OR-

   each programmer pulls the master and creates a local branch
                   modifies, adds, commits,
                   merges the new branch into their master
                   pushes the revised master  back to the main repository

- -OR-

Am I thinking about this wrong?


Thanks
Eric
- -- # Eric Lucas
#
#                "Oh, I have slipped the surly bond of earth
#                 And danced the skies on laughter-silvered wings...
#                                        -- John Gillespie Magee Jr
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0CXYYACgkQ2sGpvXQrZ/6TLwCfVsVdZcgTLE06Za6RWFc3BRHQ
hCQAn1TNj5YbmnHbSO9TTUbPDhnjSrnb
=Qy6A
-----END PGP SIGNATURE-----
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug


--
"Between subtle shading and the absence of light lies the nuance of iqlusion..."  - Kryptos

Lee Marzke,     lee@marzke.net                              http://marzke.net/lee/

begin:vcard
fn:Lee Marzke
n:Marzke;Lee
org:4AERO
adr:;;;Collegeville;PA;19426;US
email;internet:lee@marzke.net
title:Consultant
tel;work:800 393 5217
tel;fax:+1 484 348-2230
tel;cell:+1 484 961-0369
x-mozilla-html:TRUE
url:http://4aero.com
version:2.1
end:vcard

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug