
Explore git essentials, covering architecture, local and remote workflows, installation, configuration, commits, and viewing logs. Learn to manage changes with add, rename, branches, tags, aliases, and remotes.
Explore the module getting started by examining control systems at a high level, their classification, history, what they are, why they matter, and the landscape.
Learn how a version control system tracks changes, saves and rolls back versions, and applies to code like text documents.
Explore the types of version control systems, including local, centralized, and distributed setups, and learn how push and pull workflows connect local repos to remote ones like GitHub or Bitbucket.
Trace the Linux community's move from barkeeper to git, as free access ended in 2005 and developers built a distributed source control system for efficient collaboration.
Explore how Git tracks changes across files and coordinates programmer collaboration through an open source, fast distributed version control system with data integrity and nonlinear workflows.
Explore the Git landscape to understand how Git, GitHub, and Bitbucket relate as central repositories in distributed version control, and learn how pushing and pulling enables collaborative work.
Explore git installation and basic concepts across Windows, macOS, and other machines, configure your environment, initialize repositories, and understand .git and commit messages.
Install git on Ubuntu 20.04 using sudo apt install, verify with which git and git --help, and confirm that git is ready to use.
Install git on macOS and upgrade to the latest version via the command line. Check the git version after download, noting that network speed affects install time.
Install git on Windows 10 by running the installer and accepting defaults, then configure a preferred editor (notepad, notepad++, sublime) for commit messages using git shell.
Configure your bash environment to enable git completion, source the completion script, and add it to your profile so tab completion suggests branches, tags, and logs.
Explore git configuration at system, global (user), and project levels, including setting user.name and user.email, choosing an editor, and overriding global with project-specific settings.
Learn how to access git command help and man pages, explore usage and options for commands like status, and navigate to the main page via git help or man.
Initialize a git repository from an empty folder with git init, creating a .git directory that stores repository data.
Learn git basics: create files, track changes, stage with git add, commit with messages, and understand the object store in a repository.
Learn how to clone a remote repository with git clone, including open source projects on GitHub and other hosting services, and understand access permissions.
Craft meaningful commit messages that describe changes and reference a ticket or issue number. Follow team standards and include the Jira or issue tracker reference to provide context.
Preview module overview and concepts, including architecture, hash values for storing files, and the head pointer's movement along a branch, with methods to view changes and perform a dry run.
Explore the Git architecture and its three areas, the working directory, the .git directory, and the staging area, and how changes move from modified to staged to committed.
Explore hash values and cryptographic hash functions, focusing on sha-1 and its 160-bit outputs, and see how git uses these hash values to ensure data integrity and track commits.
Learn how the head pointer tracks the latest commit on the current branch, with master as the default when initializing a repo, and how new commits update the head.
Initialize a git repository, add files and folders, and use the staging area to commit changes. Learn adding specific files versus all changes, and check status with git log.
The lecture covers reading repository status, renaming files, moving files into a context folder, deleting files with git, and committing changes with a message.
View changes in git by using status and diff to track modifications, additions, and deletions between the working directory, staging area, and repository.
Compare changes between the working directory and the index, or between two trees or blob objects, and learn to read diff output with headers, hunks, and plus/minus lines.
Explore hands-on git diff to interpret unstaged and staged changes, read diff hunks with minus/plus lines, and compare the working directory to head or staged changes using --staged or --cached.
Jump into the module overview and learn how to back up changes, roll back file changes, revert to a commit, and delete untracked changes while starting work in the repository.
Learn how to roll back file changes in git by undoing edits in the working directory and staging area using restore, status, add, and commit commands.
Amend the latest git commit and update its message, tracing hash values and parent links on the default master branch. Emphasize small commits and branching with status, add, commit, log.
Explore rollback of a commit in git, understanding how reverting past commits affects history, creates conflicts, and why rewarding the latest commit is often simpler.
Delete untracked files in your repository with git clean and dry-run options to preview deletions. Understand how to remove temporary build files generated during compilation without affecting tracked files.
Learn why and how to ignore files, track empty folders, and untrack already tracked files in Git, with practical tips for managing temporary and environment folders.
Learn to ignore untracked files with git using .gitignore, set a global excludes file, and apply patterns and negation to keep logs and media folders out of your repository.
Learn to track empty folders in Git by adding a placeholder file (a hidden one) since Git ignores empty directories by default.
Learn to stop tracking a file already tracked by git by updating the .gitignore, removing it from the git cache, and committing the changes.
Explore git branching basics, including creating, switching, and merging branches quickly using git's snapshot-based model, and learn how to integrate branch names into your shell prompt.
Learn how to create and switch branches, commit changes, and merge branches into master while managing simple conflicts and understanding how Git tracks the head pointer.
learn how to create branches and switch between them using git branch and git checkout, observe how head moves from master to new branches, and how commits update each branch.
Learn to rename branches in git within the Proj One repository, switching branches, and updating names like master, animals, and bill payment to clearer labels.
Delete branches with git branch -d for merged ones or -D for unmerged, check status with --merged into master, and switch away from the active branch with git checkout.
Merge a branch into the master branch and review changes with git diff and git log, then visualize history with a merge graph.
Explore git tags, learn how to create, read, and delete them, and understand the consequences of checking out a tag, including the detach head scenario.
Learn how to name specific commits with git tags, distinguish lightweight and annotated tags with metadata, and use git tag and git tag -a to create and list tags.
List, create, and delete git tags of lightweight and annotated types; attach to the tip or a commit, view details with git show, and use annotated tags for releases.
Explore how the .git folder stores tags, distinguishing lightweight tags that point directly to a commit hash from annotated tags that create a separate tag object with metadata.
Learn how to effectively rename a git tag by tagging a commit hash with a new tag and removing the old one, using git log to view hashes and tags.
Learn to check out a tag in git and understand the detached head state, including risks of detachment and how to recover via commit hashes.
Get a quick overview of git aliases and linux-style aliases, learn to create and customize them, and copy a ready-to-use alias list to jump start your environment.
Create global git aliases to shorten commands like status and check out, and customize log output with l and l3 for the last three commits.
Discover a practical git alias sample list that shows how to declare aliases in a config file. Copy it to your gitconfig and start using customized shortcuts.
Learn to clone remote repositories and review their commit history to understand changes. Filter commit logs by date range or author for targeted analysis.
Learn to clone a remote repository with git clone using a url from GitHub, Bitbucket, or other providers, then inspect history with git log and understand public versus private access.
Explore the cloned repo, list files, and review the commit history with git log and tags, learning how to explore branches and contribute.
Explore commit log filtering with git log options, including one-line views, limiting to last three commits, filtering by tag, author, date range, and file, and using grep and hash ranges.
Filter your commit history with date ranges by combining after and before to pull items between specific dates, and refine results using since and until with April 1–7, 2021.
Explore git log formatting and graph options to view commits by author and message, with decorate and oneline views for branch histories and commit hashes.
Version Control has always been an integral part of the software development lifecycle, enabling programmers to restore previous versions and manage releases effectively. Git, as a popular open-source distributed version control software, excels in handling hundreds of branches and coordinating work among numerous programmers efficiently. This course will teach you the fundamentals of Git, enhancing your understanding of platforms like GitHub and BitBucket.
You'll start by learning how to install Git and grasp all its fundamentals through a step-by-step approach. The course covers Git architecture, helping you understand its core principles. You will create Git repositories, add, change, and delete files, commit changes, compare commits, and review commit logs. Additionally, you'll learn how to undo changes, ignore files based on names, regular expressions, and folder names, and efficiently use the git log command to filter commit logs.
Learning Objectives:
Different types of Version Control Systems
Installing Git on Linux, MAC, and Windows
Git Architecture - The Three Stages
Git States
Git Workflows
Initializing a repository
Git Configuration
Adding, Modifying, Moving & Deleting files
Adding Commit messages
Tracking files
Viewing commits and comparing versions
Undoing changes
Retrieving previous versions
Ignoring files by name, folders & regular expression
Creating Branches
Merging Branches
Merge Conflicts
Cloning Remote Repository
Branching Strategies
Stashing
Rebasing
Searching
Rewriting History
Git Reset - Soft, Mixed and Hard
Format:
Online, self-paced learning with interactive lessons
Hands-on projects to reinforce learning
Certification:
Earn a recognized certificate upon completion
With the perfect blend of animations and hands-on demos, the concepts are easy to grasp!