The workflow for developing in Git is rather straightforward and simple, following a gitflow pattern.
Git is a distributed version control system, so every developer has a local working copy of the entire repository.
Branching and merging are much quicker and easier in Git, and it is a best practice to isolate changes you are making from other changes being made by other developers. Create a branch in your working copy based on the target development release. Each branch should have at least 1 ticket in our ticket management system on Github and all commits should reference an appropriate ticket.
Because you have a local copy of the entire repository, you can work and commit while completely offline. This can speed up your development, since you are not waiting for commits to a remote system to complete. Still, every commit should only be for a single ticket, and not for multiple issues or changes.
This should go without saying, but we're going to say it anyway - test your changes in a live web environment. You can use your desktop environment as one testing environment, but please use a remote system, too.
Test a variety of situations - how does it affect data created before the change, how does it affect newly created content, what are the results of a fresh install after your changes?
Pushing your changes to the remote repository publishes them for the rest of the development team.
Testing by the other developers in other local and remote systems helps to validate a variety of conditions found on other webhosts. They will be able to do specific tests based on the tickets referenced in your commits, so testing can be quickly validated.
After testing, your branch is ready to make the next step - merging back into the parent branch. When a merge request is submitted on Github, it enables the code review features as a final verification of changes before applying them to the release branch.
If all has gone well, your branch will be merged into the release branch and you will be able to delete this branch and go on to the next task.
Now that 1 task has been completed, you can start with creating a new branch for another task, until all the tasks are complete for the release.
Last modified on 2017/7/3 by fiammybe