Duration
14.0 hours
Regular fee
$250
Objectives of the training
Knowing how to use a source code manager is a fundamental skill for any developer. Git is the most common source code management system and can be used regardless of the development language used. The objective of this training is to teach you how to use Git in your daily projects. Knowing how to decide when a code change should be published, knowing how to work with branches that represent variants in the code of a product and knowing how to collaborate between developers around Git are fundamental notions studied in this training.Targeted audience
DevelopersPrerequisite
Hands-on experience in software development, ideally in a team of several developers is a plus.Trainers
Upcoming information
Course architecture
Presentation and concepts
• Version management
• SCM
• DVCS vs CVCS
• Centralized systems (CVS, SVN)
• Distributed systems: Git
• Advantages of a distributed system
• Git
• Understanding how Git works
• Vocabulary
• States of a file with Git
• Representation of the states of a file
• Some resources on Git
Installing Git
• Installing Git
• Installation under Linux
• Installation under macOS
• Installing on Windows
• The command line
• The help
• Git configuration
• The user identity
• The text editor
• An HTTP(S) proxy
• The aliases
• Demonstration - Git installation
• Practical work to be done
The basics of Git
• Working folder vs Git repository
• The Git repository
• Adding files to the repository
• Validating files in the repository
• git commit: best practices
• File states
• File status life cycle
• Example: git status
• Managing file changes
• Demonstration - Creating and organizing a first Git repository
• The history of a Git repository
• The revisions
• Viewing the history
• Files in the history
• git log and git show
• Commits in the history
• Viewing differences in the history
• Deleting changes
• Commands in the history
• Ignoring files
• Example of a .gitignore file
• Delete unversioned files
• Other useful commands
• Demonstration - Manipulating the history of a Git repository
• Practical work to be done
Tags
• What is a tag ?
• Good practices for using tags
• Version numbering
• The different types of tags
• Creating a tag
• List the tags and their information
• Delete a tag
• Demonstration - Creating tags
• Practical work to be done
The branches
• What is a branch ?
• Organization of branches
• Example of organization
• The MASTER branch
• Best practices for using branches
• Working with branches
• Changing branches
• Demonstration - The branches
• Putting changes aside
• The git stash command
• Demo - Modifying a branch
• Merging branches
• The merge
• Example : merge commit
• Fast forward
• Delete a branch
• Rebasing
• git rebase
• Merge conflicts
• Demonstration - Merging branches
• Work to be done
Git and centralized repositories
• What is a remote repository ?
• Remote repository - Usage scenario : setting up
• Remote repository - Usage scenario : use
• The Git cycle : synthesis of commands
• The exchange protocols
• Cloning a remote repository
• Internal operation and remote branches
• Adding a remote repository for a local repository
• Sending changes
• Receiving changes
• Other remote operations
• Demo - Remote Repository
• Summary
• Practical work to be done
Git tools
• Hosting solutions
• Graphical tools
• Git-gui
• Gitk
• TortoiseGit
• GitKraken
• Demonstration - GitKraken
Git - Master Your Release Management (concepts, usage and case studies) (3rd edition)
• Git and version management
• Installing Git
• Creating a repository
• Handling files and committing
• Consulting and manipulating the history
• Branches and tags
• Sharing a repository
• Git-Flow : enterprise workflow
• Git tools
• Independent developer scenario
• Team scenario
• Maximum productivity with Git
• Git in continuous deployment
• Checklist
• Version management
• SCM
• DVCS vs CVCS
• Centralized systems (CVS, SVN)
• Distributed systems: Git
• Advantages of a distributed system
• Git
• Understanding how Git works
• Vocabulary
• States of a file with Git
• Representation of the states of a file
• Some resources on Git
Installing Git
• Installing Git
• Installation under Linux
• Installation under macOS
• Installing on Windows
• The command line
• The help
• Git configuration
• The user identity
• The text editor
• An HTTP(S) proxy
• The aliases
• Demonstration - Git installation
• Practical work to be done
The basics of Git
• Working folder vs Git repository
• The Git repository
• Adding files to the repository
• Validating files in the repository
• git commit: best practices
• File states
• File status life cycle
• Example: git status
• Managing file changes
• Demonstration - Creating and organizing a first Git repository
• The history of a Git repository
• The revisions
• Viewing the history
• Files in the history
• git log and git show
• Commits in the history
• Viewing differences in the history
• Deleting changes
• Commands in the history
• Ignoring files
• Example of a .gitignore file
• Delete unversioned files
• Other useful commands
• Demonstration - Manipulating the history of a Git repository
• Practical work to be done
Tags
• What is a tag ?
• Good practices for using tags
• Version numbering
• The different types of tags
• Creating a tag
• List the tags and their information
• Delete a tag
• Demonstration - Creating tags
• Practical work to be done
The branches
• What is a branch ?
• Organization of branches
• Example of organization
• The MASTER branch
• Best practices for using branches
• Working with branches
• Changing branches
• Demonstration - The branches
• Putting changes aside
• The git stash command
• Demo - Modifying a branch
• Merging branches
• The merge
• Example : merge commit
• Fast forward
• Delete a branch
• Rebasing
• git rebase
• Merge conflicts
• Demonstration - Merging branches
• Work to be done
Git and centralized repositories
• What is a remote repository ?
• Remote repository - Usage scenario : setting up
• Remote repository - Usage scenario : use
• The Git cycle : synthesis of commands
• The exchange protocols
• Cloning a remote repository
• Internal operation and remote branches
• Adding a remote repository for a local repository
• Sending changes
• Receiving changes
• Other remote operations
• Demo - Remote Repository
• Summary
• Practical work to be done
Git tools
• Hosting solutions
• Graphical tools
• Git-gui
• Gitk
• TortoiseGit
• GitKraken
• Demonstration - GitKraken
Git - Master Your Release Management (concepts, usage and case studies) (3rd edition)
• Git and version management
• Installing Git
• Creating a repository
• Handling files and committing
• Consulting and manipulating the history
• Branches and tags
• Sharing a repository
• Git-Flow : enterprise workflow
• Git tools
• Independent developer scenario
• Team scenario
• Maximum productivity with Git
• Git in continuous deployment
• Checklist
Private or personalized training
If you have more than 8 people to sign up for a particular course, it can be delivered as a private session right at your offices. Contact us for more details.
Request a quoteDuration
14.0 hours
Regular fee
$250
Private or personalized training
If you have more than 8 people to sign up for a particular course, it can be delivered as a private session right at your offices. Contact us for more details.
Request a quote