The workflow for developing in Git is rather straightforward and simple, following a gitflow pattern.
Clone the remote repository
Git is a distributed version control system, so every developer has a local working copy of the entire repository.
Create a branch
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 Assembla and all commits should reference an appropriate ticket.
Commit your changes locally
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?
Push your changes to the remote repository
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.
Submit a merge request
After testing, your branch is ready to make the next step - merging back into the parent branch. When a merge request is submitted on Assembla, it enables the code review features as a final verification of changes before applying them to the release branch.
Review and Complete
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.