gawkworkflow: Developing new features
5.4 Developing New Features
===========================
Developing a new feature can be easier once you have commit access to
the repo. First, create a new branch to hold your feature:
$ git checkout master Start from master
$ git pull Be sure to be up to date
$ git checkout -b feature/python Create and switch to a new branch
Now, you can develop as normal, adding new files if necessary (such
as new tests), modifying code, updating the 'ChangeLog' and
documentation, and so on.
You can share changes with the mailing list as diffs, as usual.
However, especially for a large feature, it would be better to push your
branch up to Savannah. Then, everyone else can simply pull it down to
their local systems and review your changes at their leisure.
To push your branch up initially:
$ git diff Review your changes
$ git add ... Add any files for committing
$ git commit Commit the files. Include a commit message
$ git push -u origin feature/python Push the branch up to the repo
When you use 'push -u origin', Git helpfully converts your purely
local branch into a tracking branch. It becomes as if the branch had
originated from the upstream repo and you checked it out locally.
_You only need to do 'git push -u origin' once._ As you continue to
work on your branch, the workflow simplifies into this:
$ git diff Review your changes
$ git add ... Add any files for committing
$ git commit Commit the files
$ git push Push your changes to the branch upstream