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