Git and Git Workflows
Distributed version control, unique features
Since its creation in 2005 for Linux Kernel development, Git has found its way into commercial environments. Developers prefer Git for its flexibility and speed. Every team member can view the whole project history locally. Branches are created and managed locally to isolate the development of features, fixes or experiments. Local changes can be uploaded to servers, changes made by others can be compared to and integrated with local commits without the requirement to publish beforehand. The comprehensive toolkit that Git provides is a clear advantage of Git.
Die Schulung halten wir wunschweise auf Deutsch oder Englisch. Lesen Sie die Agenda auf Deutsch.
Differences to classic version control systems
- Basics and advantages of distributed version control systems
- Why the SHA „revision number“ is computed from the contents of a commit
- Cryptographic security of the project history
- How Git manages data via pointers and is more than just „CVS done right“; differentiation to Mercurial
Extended Git
- Working with multiple servers and remote branches
- Partial commits and resets
- The
reflog
as a „trashbin“ with additional features - Storing intermediate results with
git stash
- Using
cherry-pick
to efficiently select acceptable commits for partial releases or to port fixes - Finding bugs with
git bisect
Git workflows
- git-flow, a model for systematic work with branches
- Creating isolated features
- Creating releases, applying hotfixes, maintaining old releases
- Selecting „Subversion“, „Integration Manager“ and „Dictator-and-Lieutenant“ styles to manage small to huge projects with fork, push and pull
- Multiple and triangular workflows
Git repository hosting
- Installation, hosting and operation of Git repositories
- Hosting via SMB shares
- Granular authentication, access control via SSH and HTTPS
- Code hosting services such as Bitbucket and GitHub
- Integration, migration / conversion of existing Bazaar, ClearCase, CVS, JEDI VCS, Mercurial, Perforce, Rational, SourceAnywhere, SourceSafe, SVN, TFS, Vault and Veracity repositories to Git
- Best practices for Git repository structures, including large projects with millions of lines of code
- Synchronization and administration of Git repositories across company boundaries
- Use of and contributing to open source projects
Working with Windows Explorer, IDE etc.
- Repository composition with
git submodule
- Sending and receiving patches with
git format-patch
,git apply
,git am
- GUI tools
- Plug-ins for Windows Explorer
- Add-ins, Source Control Provider and working with NetBeans, IntelliJ-based IDEs and Visual Studio
- Use of Git / Git workflows with CMS, e.g. with TYPO3
- Collaborative code review systems for Git, such as wie Pull Requests or Gerrit
- Features available only on the command line
- Visualization with Gource