The Advanced Git Training Course
The advanced git training course focused on using git with distributed workflows. The git basic course introduces the concept of the centralised workflow along with a branch merging strategy. This course introduces a distributed workflow which is often better suited to larger, geographically separated teams.
The course also shows how the history of a repository can be changed. This is beneficial because this provides a more linear repository history. The technique must be used carefully and is not without its drawbacks. The pros and cons of the approach will be outlined.
The course covers:
- A brief recap of the centralised workflow model.
- A brief recap of git local and remote branches
- A brief recap of merging between branches
- An introduction to feature and topic branches.
- The rebase command
- How to prepare a feature branch for a release
- What is a topic branch and how to create one
- Merging new features into a topic branch
- The distributed workflow
- The blessed repository
- The role of the integration manager
- What is a pull request and how to make one
- The two approaches to integrating work on a topic branch
- Option 1: The merge based approach
- How to merge changes from the topic into the main branch
- Option 2: The rebase approach
- How to rebase changes from a topic branch into the main branch
- Cherry picking or how to move a single commit from the topic branch
- Advanced topics
- Using rebase to remove permanently remove files from the repository
- How to combine repositories into a single larger one
- How to split a large repository into a series of smaller repositories
Participants are expected to have successfully completed the git basics course.
The course requires that a git server exists. This can be achieved in one of two ways. We can provide a git server as a virtual machine image. This images will require suitable hardware begin available to host it. The image will also require some necessary post install configuration in the form of the setting up users. Alternatively one of the many cloud based git hosting services can be used. We can advise you on the benefits of the various hosted solutions available.