gawkworkflow: Push Pull

1 
1 2.1 The "Push/Pull" Model of Software Development
1 =================================================
1 
1 Git is a powerful, distributed source code management system.  However,
1 the way it's used for 'gawk' development purposely does not take
1 advantage of all its features.
1 
1    Instead, the model is rather simple, and in many ways much like more
1 traditional distributed systems such as the Concurrent Versions System
1 (http://www.nongnu.org/cvs) (CVS) or Subversion
1 (http://subversion.apache.org) (SVN).
1 
1    The central idea can be termed "push/pull."  You _pull_ updates down
1 from the central repository to your local copy, and if you have commit
1 rights, you _push_ your changes or updates up to the central repository.
1 
1    Where Git does stand out is in its management of multiple branches of
1 development.  Git makes it very easy to set up a separate branch for use
1 in fixing a bug or developing a feature.  You can then easily keep that
1 branch up to date with respect to the main development branch(es), and
1 eventually merge the changes from your branch into the main branch.
1 
1    Almost always Git does these merges for you without problem.  When
1 there is a problem (a "merge conflict"), usually it is very easy for you
1 to "resolve" them and then complete the merge.  We talk about this in
1 more detail later (⇒Merge Conflicts).
1