This Git Masterclass is designed to help developers and DevOps professionals take their Git skills to the next level. This course assumes that you already are an experienced Git user, and will focus on teaching you the more advanced aspects of Git.
Throughout this course, you will learn how to use Git as a toolbox to manage and collaborate on complex software projects. We will begin by exploring the internals of Git and establish a solid vocabulary. You’ll also learn how to use Git to support advanced collaboration strategies and troubleshooting tactics as well as automating tasks using scripting in Bash and Python. Another topic is how to organize repositories and dependencies. Finally we cover security aspects that apply to all projects, e.g. handling of secrets and preventing tampering with tags.
By the end of this course, you will have a deep understanding of Git’s advanced features and be able to use Git as a powerful tool for managing and collaborating on complex software projects. Whether you’re a seasoned developer or a DevOps professional, this course will provide you with the skills and knowledge you need to take your Git skills to the next level.
Topics Covered
- Collaboration
- Strategies for branching and merging
- How to support release management
- Undo or re-organizing commits
- Edit latest commit using amendments
- Cherry-picking to get changes from another branch
- Rebase to reorganize commits
- Using reflog to undo large changes
- Why you should or should not push force
- Scripting Git
- Using Git Hooks to subscribe to events in the Git repository
- How to avoid committing passwords
- Security
- Securing tags using cryptographic fingerprinting
- Handling of shared secrets in the repository
- Mining of Git log using Bash and Python
- Map knowledge of the code base
- Which files changes the most
- Understanding Git internals
- Git folder and physical layout
- Git’s model for storing data and changes
- How to handle large files and other non-source texts including artifact management
- Organizing repositories, e.g. using submodules and sparse checkout
- How to handle remote repositories
- Different views on repos, e.g. comparing branches
Prerequisites
Practical experience with Git similar to Git – Versionsstyring med Git – Foundation, Bash-scripting and general being comfortable working with CLI, and some programming experience.
Target Audience
Developers, DevOps and release engineers, and other software professionals who need a thorough understanding of Git.
After the course the participant will be able to:
- Explain and implement security features in Git, such as signed tags and secure storage of secrets.
- Use the reflog feature to recover lost commits and branches.
- Identify and troubleshoot common Git errors and conflicts.
Use Git as a powerful toolbox to manage and collaborate on complex software projects. - Implement best practices for using Git in their software development workflows.
- Effectively use Git to manage and collaborate on team projects with a higher level of efficiency and confidence.
- Implement or change Git workflows to align with their team’s requirements, including managing feature branches and code reviews.
- Explain Git’s advanced features, including its internal architecture and how to optimize Git’s performance in their development workflows.
- Overall, students will have gained a comprehensive understanding of Git’s advanced features and will be able to use Git more efficiently and effectively in their daily development workflows.
En naturlig efterfølger til dette kursus er vores andet Git kursus: Automatisering af softwareudvikling med GitHub