What you'll learn:
- Master the essential Git workflow: adding & committing
- Work with Git branches
- Work with local and remote repositories
- Learn the key concepts of the Git source control system
- Create and manage repositories on GitHub
- Efficiently manage projects with Git & GitHub
- Perform basic and advanced Git operations
- Learn what is pull request and how to create pull request at GitHub
- Learn how to clone remote repo to your local machine
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?"
SOOOOWhat 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