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