
Discover how Git, a free open-source distributed version control system, tracks changes and revisits versions, while GitHub hosts Git repositories in the cloud for collaboration.
Download and install Git on Windows, Mac, or Linux using the official site, then configure a global username and email.
Learn how to create and inspect a git repository. Explore git init, git status, and the hidden .git folder to manage a project's history.
Explore how git branches create independent lines of development, visualize master and feature branches, and use commands to create, switch, and merge branches.
Learn how to merge branches with the Git merge command, combining a styling branch into the master branch. Explore fast-forward and non-fast-forward merges, staging, and commits to integrate changes.
discover how to set up ssh keys for GitHub, generate a public-private key pair, add the key to your account via settings, and connect securely without typing credentials.
Discover how to create a GitHub repository, set public or private visibility, connect a local repo, and push changes to the remote. Learn cloning, renaming, adding files, and deletion.
Learn how to fetch updates from a remote repository and pull them into your local copy, using origin and specific branches to keep your project up to date.
This course is all about Git and GitHub.
What Is Git??
Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.
What Is GitHub??
GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere in the world.
Why do I need to learn Git and GitHub?
Version control systems (VCSs) in general are tremendously important - especially in web development, where everything is done over the net - for at least three reasons:
Collaborative work - if two or more people work on the same code, more often than not in the same file even, VCSs allow for proper merging of the changes in a logical and maintainable way, allowing you to see the incoming changes from the other developers and decide which changes conflict with your new code, which must be refactored and which ones you can keep. They allow branching for developing different components and features in parallel, tags for maintaining different features (maybe custom features implemented for different clients in different branches), and lots of other "good magic". They are also a great way to share your work and allow other people to get your code, review it and contribute to it, in case you want to build something in the public domain.
"If we screw up, it's all on tape!" - VCSs allow you to have a history of every single step you took in developing your applications and - in case something goes wrong - they allow you to quickly and safely revert to previous versions of your code and take it from there again, as well as review your code in the future.
Redundancy. Assuming your repositories are stored on a machine different from your own development environment, if let's say your HDD dies on you with smoke and magnets jumping out, you still have almost everything you developed stored safely away - so after you've replaced whatever in your machine, you can just clone the repository again and start almost from the point where you left off, with minimal downtime.
I guarantee you that the question you will face after learning a version control system and using it for a while, will be the exact opposite: "How can anyone even think of not using a VCS when doing serious software development?"
SOOOO What You'll Learn In This Course?
Important Questions about Git & GitHub, The (What & Why)
What is Git?
What is VSC (Version Control System)
Why Use Git?
Difference Between Git & GitHub
Downloading, Installing & Configuring Git
Git Repositories In Really Depth
What is Git Repo (Repositories)
Git Status
Git init
.git Folder
Git Comments In-Depth (What, Why & How)
What is Git Commit?
Working Directory
Staging Area
Git Repository
Git Add Command
git commit -m command
git log
Git Branches In Really Great Depth (What, Why & How)
What are Branches in Git?
How to create branches in git
How to switch branches
Deleting And Renaming Branches
Merging Branches In-Depth
What is merging in git?
Git Merge command
fast-forward merge
non-fast-forward merge
What is SSH Key? How to Generate it & How to add that to our GitHub account.
GitHub Basics
How to Create GitHub Repository
What is Public & Private Repositories
How to connect your local repository to remote repositories
What is Git Remote
How to Create Remote
How to push your code/work from the local repository to the remote repository
How to Clone GitHub Repositories
Fetching & Pulling In GitHub