
In this section, the we shall go though the concepts and key features of a traditional version control system. We shall first see what a version control system is, what are its features and how it is useful to us. We shall see features like branching, conflict resolution strategies and conclude with explaining what a tag is in VCS.
Explore how version control provides a centralized repository with backups and full revision history, enabling restoration by fetching revisions and supporting branching for parallel development.
Explore the drawbacks of a version control system, including a single point of failure in the central repository, lost revision history, mandatory connectivity, and messy branching in large open-source projects.
Discover git as a distributed version control system with private local repositories containing full revision history, commits, branches, and tags. Work offline, then push changes to a centralized repository.
Learn core git buzzwords and workflows, including master as the source of truth, branches and heads, staging, commits, and remote operations like clone, push, pull, merge, and upstream/downstream relationships.
Install Git on Windows, run the installer with default settings, verify with Git Bash, then configure global user name and email and confirm the settings are saved.
Configure git identity by setting user name and email at system, global, and repository levels; repository level overrides the others, using git config --global user.name and git config --global user.email.
Explore the Git file life cycle, distinguishing untracked, tracked, and modified states, and learn how committing updates the repository and changes status.
Create and manage a local git repository, stage changes with git add, commit with messages, and track file status using git status, illustrating branches and revision history.
Learn to manage untracked files with a .gitignore, create and update ignore rules using regular expressions, verify changes with git status and commits, and apply a global ignore across projects.
Create files and folders, stage them in the staging area, commit changes, then use status, diff, and log to manage and review repository history.
Learn to collaborate with remote repositories by creating a centralized repository, cloning code, pushing local changes, and fetching updates from others.
Learn how git fetch retrieves remote changes into local remote-tracking branches without altering your working code. Then use git merge to resolve conflicts and push updates to the remote.
Explore git branching by creating local branches from master, testing changes on feature branches, and merging or deleting them before updating the master, with local versus server visibility explained.
Learn to view local and remote branches, create a new branch from the master, switch between branches with checkout, and commit changes to the local repository.
Learn to merge a feature branch into the master branch and push the updated master to the remote repository, including switching branches and verifying the remote changes.
Delete local and remote branches after merging changes to the master branch. Switch off the current branch, delete locally with git delete -d, then remove remote with origin --delete <branch>.
Learn how a new branch points to master code and how changes appear across branches, and how to forcefully delete a local branch with git branch -D.
Learn how to use git tagging to freeze code after testing, create and push tags to a remote repository, verify deployment readiness, and delete remote tags when needed.
Learn how stashing saves unsaved changes as you switch branches or fix urgent bugs without committing incomplete work, keeping features clean and ready to resume later.
In this video we shall see why we need stashing and when this command will be useful. We will look at two use cases in which we can use stashing.
In this video we will see how to stash the local changes which is not committed to the repository into a stack. We shall also see how to list the stashed changes.
In this module we will understand what is a git commit chain and how git maintains the integrity of the repository. Once we have understood the commit chain, we will then explore different commands which needs the foundation of commit chain.
Explore how to maintain git commit chains by ensuring each commit references its parent, how to create and recommit, and how outputs reveal the relationship between consecutive commits.
This is an introduction to Merging and different options in Git for merging
Explore fast-forward merging as Git moves the head to the latest commit when the source branch has no changes, demonstrated by merging developer into master with no new objects.
Explore fast-forward and three-way merging, learn how merges create a new commit with two parents, and see how master and developer branches integrate changes.
Explore rebase by stacking feature branch changes onto the latest master commit to maintain a linear history, contrasted with merge, which creates a commit with two parents (fast-forward when possible).
This video demonstrates a git rebase workflow: create and commit on master and a feature branch, rebase the feature onto master to stack commits, then perform a fast-forward merge.
In This video we are going to learn how to amend commits in git. I am also going to show you the other variations of using this command.
In this command we are going to learn how to revert the changes in a standard way without manual changes.
Master the cherry pick command to copy a commit from a feature branch onto the current branch, and apply fixes or patches back to master.
In this lecture, we will look at the soft reset command. This strategy is used to amend any arbitary commit or use to squash multiple commits to a single commit.
Explore how git mixed reset moves head to the previous commit, discards that commit, and leaves changes in the working directory with the staging area in sync with the repository.
Master the hard reset to wipe the working directory and staging area, discard changes, and move head, while verifying with git status before committing.
This course is intended for developers and SCM engineers who want to learn and start using Git as their version control systems. This course is designed in a manner that this will be useful for beginners. Also the concepts will be a refresher for experienced professionals. This course takes a step by step approach right from the basics of a Version control system and then introduces to the benefits and drawbacks of a VCS. Then we introduce you to Git VCS, explain how to setup Git and run through the most useful commands. Also I have included the topic to work with remote repository using Github.