# Git in Practice: Techniques for Collaborative Development (Lecture)

- Institution: CERN
- Speaker: Lizzie Salmon
- Year: 2026
- Language: English
- Subjects: Computer science
- Source: [CERN](https://videos.cern.ch/record/3023659)
- Licence: [CERN](https://copyright.web.cern)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

## Git in Practice: Techniques for Collaborative Development

This lecture will focus on **Git good practices and advanced commands** to help developers work more efficiently and collaboratively in shared repositories. The session will go beyond the simple *pull-commit-push* workflow and explore practical techniques for maintaining clean, reliable version histories in multi-developer environments.

### The lecture will cover: - **Collaborating with Git:** How Git supports teamwork and version control in modern development, with examples of effective branching strategies and workflows. - **Branching and merging strategies:** Understanding feature branches, Git workflows, and trunk-based development to manage change efficiently. - **Advanced Git commands:** Practical use of `git rebase`, `git merge`, `git reset`, `git bisect`, and `git cherry-pick`. Discussing when and how to use them safely to simplify history and resolve issues. - **Conflict resolution:** Techniques for diagnosing and resolving merge conflicts cleanly and confidently. - **Git hooks and CI/CD integration:** Leveraging Git hooks to automate quality checks, enforce standards, and integrate testing into CI/CD pipelines. - **Merge requests and code reviews:** Best practices for creating, reviewing, and approving merge requests, and giving constructive feedback to maintain high code quality and consistency.

### The accompanying exercise session would involve:

While this lecture does not naturally lend itself to a traditional exercise session, it could include a **collaborative GitHub repository activity** where participants apply these techniques in a shared environment to simulate a larger development team. Alternatively, a less collaborative exercise could involve **improving the commit history** of a sample repository, using techniques such as rebasing or squashing to create a cleaner, more linear history.

00:00:00 Slide 1

00:00:16 Slide 2

00:00:36 Slide 3

00:01:15 Slide 4

00:01:58 Slide 5…

## Lectures

1. [Git in Practice: Techniques for Collaborative Development (Lecture)](https://invisiblenetwork.ai/learn/cern/3023659/d6ecae5bf1af), 58 min (CERN's player)
