Skip to content

GitHub flow (branching)

Jesse Mathews edited this page Feb 9, 2019 · 9 revisions

The GitHub flow

github-flow

The GitHub Flow is a lightweight, branch-based workflow for projects with regular deployments.

People use different workflows to contribute to software projects, but the simplest and most effective way to contribute on GitHub is the GitHub flow.

📺 Video: Understanding the GitHub flow

Branches are an important part of the GitHub flow because they allow us to separate our work from the master branch. In other words, everyone's work is safe while you contribute.

📺 Video: Branches

Tips for using branches

A single project can have hundreds of branches, each suggesting a new change to the master branch.

The best way to keep branches organized with a team is to keep them concise and short-lived. In other words, a single branch should represent a single new feature or bug fix. This reduces confusion among contributors when branches are only active for a few days before they’re merged 📖 into the master branch.

Creating a branch allows you to make modifications to your project without changing the deployed master branch. Once you have a branch, it’s time to create a file and make your commit!

Commits 101

When you’re finished creating or making changes to a file on GitHub, scroll to the bottom of the page. Then find the "Commit new file" section.

In the first field, type a commit message. The commit message should briefly tell contributors about the changes you are introducing to the file.

Rules to live by for commit messages:

  • Don’t end your commit message with a period.
  • Keep your commit messages to 50 characters or less. Add extra detail in the extended description window if necessary. This is located just below the subject line.
  • Use active voice. For example, "add" instead of "added" and "merge" instead of "merged".
  • Think of your commit as expressing intent to introduce a change.

Now that you’ve created a commit, it’s time to share your proposed change through a pull request! Where issues encourage discussion with other contributors and collaborators on a project, pull requests help you share your changes, receive feedback on them, and iterate on them until they’re perfect!

Pull requests

Let’s think back to the GitHub flow again. You have created a branch, added a file, and committed the file to your branch. Now it’s time to collaborate on your file with others. This collaboration happens in a pull request. Check out this video to learn more:

📺 Video: Introduction to pull requests

Clone this wiki locally