Git is an open-source distributed version control system that helps track code changes, manage different versions of a project and collaborate with other developers. It keeps a history of changes, allows previous versions to be restored and helps teams work on the same project without losing progress.
Introduction
Git is a distributed version control system used to track changes in code and manage collaborative software development.
- Introduction of Git
- Version Control System
- Git Features
- Repositories and Commands
- Git Ignore
- Readme.md File
- Git vs. GitHub
Installation and Setup
Before working with Git, install Git on your system and configure the required settings.
- Git Environment Setup
- Using Git on CLI
- Working on Git Bash
- Setup Git Server on Ubuntu
- Install GIT by NPM Packages
Git Repository and Commands
After installing Git, create a repository and learn the basic commands used to track and save changes.
1. Working with Git Repositories
2. Getting Started
2. Remote Repositories
- Git Remote
- Git Origin Master
- Git Push
- Git Pull
- Git Pull and Fetch
- Set Upstream Branch on Git
- Clone a Repository
3. Branching & Merging
- Push Git Branch to Remote
- Delete a Git Branch Locally and Remotely
- Git Checkout and Merge
- Git Merge
- Git Merge Conflicts
- Git Rebase
- Git Squash
- Git Fork
4. File & Change Management
- Git diff
- Git Clean
- Git Rename
- Git Move Files
- Git Undo Commit
- Git Undo
- Git Stage
- Remove Local Untracked Files
- Add an Empty Directory to a Git Repository
5. History & Debugging
- Git Log
- Customizing Commit History with Git Log
- Git Ref and Reflog
- Git Blame
- Recovering Lost Commits
- Git Show
- Git Working Tree
- Git Index
6. Advanced Commands
- Git Alias
- Git Submodules
- Git Subtree
- Git Tags
- Git Hooks
- Patch Operation in Git
- Git Prune
- Git Filtering the Commit History
- Managing Commit History
- Types of Git add
- git add -A vs. git add
- Debugging in a Git
- Error Searching and Handling in Git
Git Advanced Usage
Advanced Git concepts, including branching, exporting projects, handling errors, common issues and integrating Git with development tools like RStudio and Eclipse.
1. Advanced Git Concepts
- Introduction to Git Branch
- Export a Git Project
- Move the most recent commit(s) to a new branch with Git
- Git–Pack Objects
- Handle Big Repositories with Git
2. Error Handling & Troubleshooting
- Common Git Problems and Their Fixes
- Fix Git Authentication Failed Error
- Resolve Git Lock File Conflict
3. Git Automation & Extensions
- Send an Email using Git send-email via Gmail
- Automating some git commands with Python
- Install and Use Git in Google Colab
4. Alternative VCS & Comparisons
- Introduction to Bitbucket
- Working on Bitbucket using Git
- Introduction to Mercurial
- Difference between MERCURIAL and GIT
- Difference between Git and SVN
5. Git in CI/CD
- Jenkins and GIT Integration using SSH Key
- Add GIT Credentials in Jenkins
- CI/CD in .NET application Using Shell Executor on GitLab
- CI/CD in Java application(Linux) Using Shell and Docker Executor on GitLab
- CI/CD in C/C++ Application(Linux) Using Shell and Docker Executor on GitLab
- Installing Private Git Server on K8s Cluster with Gitea and AKS
Git Deployment
This section covers deploying static sites and Django applications to Heroku using Git.
Git Collaborating
This section covers Git collaboration basics, forking workflows, pull requests, merge strategies and conflict resolution.