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