gawkworkflow: Starting A New Branch

1 
1 4.3 Starting A New Branch
1 =========================
1 
1 Let's say you want to work on a new feature.  For example, you might
1 decide to add Python syntax support.(1)  You should create a new branch
1 on which to work.  First, switch back to 'master':
1 
1      $ make distclean
1      $ git checkout master
1 
1    Now, create a new branch.  The easiest way to do that is with the
1 '-b' option to 'git checkout':
1 
1      $ git checkout -b feature/python
1      -| ...
1 
1    You now do massive amounts of work in order to add Python syntax
1 support.  As you do each defined chunk of work, you update the
1 'ChangeLog' file with your changes before "committing" them to the repo.
1 
1    Let's say you've added a new file 'python.c' and updated several
1 others.  Use 'git status' to see what's changed:
1 
1      $ git status
1      -| ...
1 
1    Before committing the current set of changes, you can use 'git diff'
1 to view the changes.  You may also use 'git difftool'(2) to run an
1 external 'diff' command, such as 'meld' on GNU/Linux:
1 
1      $ git diff                           Regular built-in tool
1      $ git difftool --tool=meld           GUI diff tool
1 
1    When you're happy with the changes, use 'git add' to tell Git which
1 of the changed and/or new files you wish to have ready to be committed:
1 
1      $ git add ...
1 
1    Use 'git status' to see that your changes are scheduled for
1 committing:
1 
1      $ git status
1      -|
1 
1    Now you can commit your changes to your branch:
1 
1      $ git commit
1 
1 Running 'git commit' causes Git to invoke an editor (typically from the
1 '$EDITOR' environment variable) in which you can compose a commit
1 message.  Please supply a short message summarizing the commit.  This
1 message will be visible via 'git log'.
1 
1    ---------- Footnotes ----------
1 
1    (1) Just joking.  Please don't attempt this for real.
1 
1    (2) Don't run 'git difftool' in the background; it works
1 interactively.
1