Git & GitHub - The Practical Guide
What you'll learn
- Learn all you need to work with Git, including all about repositories, commits, branches & more
- Understand how Git works behind the scenes and understand local & remote as well as local-tracking & remote-tracking branches
- Dive into advanced Git features like merging, rebasing, the stash and learn how to manage merge conflicts
- Bring Git's power to the cloud with GitHub
- Learn how to collaborate in projects via Git & GitHub in teams & organizations
- Learn how to contribute to open-source projects via forks & pull requests
- Efficiently manage projects with Git & GitHub
Requirements
- NO prior Git or GitHub or web development knowledge is required
- An email address is required to create a (free) GitHub account
- The course can be attended on Mac & Windows computers
Description
No matter if you're just getting started with (web) development, if you're applying for a developer job or if you just need to refresh your knowledge - version control is a core skill you need to succeed as a developer!
Git (a version control system) and Github (a cloud provider for Git managed projects) form an outstanding combination to provide the best possible experience to create and maintain a clearly structured project history!
This course guides everyone (no prior knowledge is required!) through the core steps to use these tools in your daily projects with ease.
What is Version Control?
Saving & accessing data and tracking changes is what version control is all about. No matter if you're working on a private or a professional development project, code evolves, changes and continuously gets improved. A clean version management structure is therefore key to successfully manage the progress of your projects.
What is Git?
Git is a 100% free version management tool, specifically created for and used by developers all over the world to manage project code history locally on their machines (Windows, macOS, Linux/Unix).
What is GitHub?
GitHub is an online service, it is also free for many use cases (an account is all you need) and brings Git's local "file-tracking" strengths to the cloud. Storing project code online, updating code, accessing other team members' code or collaborating on large scale projects inside your organization - all possible with the help of GitHub!
Why Should I Know these Tools?
Version control is key to manage projects efficiently so not knowing Git and GitHub makes your daily developer life a lot more complicated. The same apply if you're currently looking for a new job in the industry, version control is required in any developer projects these days, so not knowing Git & GitHub puts you behind your competition!
Although Git and GitHub are user friendly, both come with their own logic and "language". Getting started can therefore be a bit cumbersome and this is where this course comes into play!
What do I Learn in this Course?
This course starts at the very basics, no prior Git or GitHub knowledge is required! You'll learn how to use Git and how to write Git commands in the Mac Terminal or the Windows Command Prompt (optional refreshers on both are also part of the course).
Starting with the first initialization of a so-called Git repository, we'll build up your knowledge step-by-step and understand the what & why behind concepts like branches, commits, the staging area, merging & rebasing, cloning, pushing & pulling branches and a lot more!
What's Inside this Course?
An optional Command Line Crash Course for both Windows & MacOS users
Git Download & Installation
Git Theory - Working Directory, Staging Area (Index) and Repository explained
Creating Git Repositories
Working with Commits
Understanding Branches
Understanding the HEAD and the detached HEAD
Newly Introduced Git Commands with Git Version 2.23
Deleting Data (Staged & Unstaged, Commits & Branches)
Ignoring Files
The Stash
Merging, Rebasing and Cherry Picking
Bringing Back Deleted Data with the Reflog
Connecting Local Git Repositories to Remote GitHub Repositories
Git Push & Pull (+ Fetch)
Local, Remote Tracking & Remote Branches
GitHub Collaborators & Contributors
Forks & Pull Requests
GitHub Issues
Github Projects
and so much more!
All covered, explained and applied in easy to understand examples in the course!
-
In this course we'll find answers to questions like:
"How can I delete my last commit?"
"What is the Stash?"
"What is the difference between a merge and a rebase (and what is cherry-picking actually)?"
"How to bring back a deleted commit?"
"What is the difference between a local tracking branch and a remote tracking branch?"
-
What are you waiting for, jump and board and let's GIT started :)
Who this course is for:
- Anybody who wants to learn what version management is & how it can help to organize your code and projects efficiently
- (Web) developers who want to learn new skills to increase their efficiency
- Anybody who wants to master Git & GitHub for private or professional projects
Instructors
Bundling the courses and know how of successful instructors, Academind strives to deliver high quality online education.
Online Education, Real-Life Success - that's what Academind stands for. Learn topics like web development, data analyses and more in a fun and engaging way.
We've taught more than 2,000,000 students on a broad variety of topics. We'd love to teach you as well! :)
Keep learning!
Experience as (Web) Developer
Starting out at the age of 12 I never stopped learning new programming skills and languages. Early I started creating websites for friends and just for fun as well. Besides web development I also explored Python and other non-web-only languages. This passion has since lasted and lead to my decision of working as a freelance web developer and consultant. The success and fun I have in this job is immense and really keeps that passion burningly alive.
Starting web development on the backend (PHP with Laravel, NodeJS, Python) I also became more and more of a frontend developer using modern frameworks like React, Angular or VueJS in a lot of projects. I love both worlds nowadays!
I also build full-stack applications and acquired expert DevOps and cloud computing knowledge - proven by the many AWS certifications I hold (incl. the top-level Solutions Architect Professional certification).
As a self-taught developer I had the chance to broaden my horizon by studying Business Administration where I hold a Master's degree. That enabled me to work in a major strategy consultancy as well as a bank. While learning, that I enjoy development more than these fields, the time in this sector greatly improved my overall experience and skills.
Experience as Instructor
As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enables me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses and more than 2,000,000 students on Udemy is the best proof for that.
Whether working as development instructor or teaching Business Administration I always received great feedback. The most rewarding experience is to see how people find new, better jobs, build awesome web applications, acquire amazing projects or simply enjoy their hobby with the help of my content.
Together with Manuel Lorenz, I founded Academind to offer the best possible learning experience to our more than 2,000,000 students.
Having worked as a business analyst in both a major consultancy and an investment bank, I always found myself confronted with both various and complex problem sets and challenging client demands. The rapid development of technology and business requirements forces everyone to constantly adapt and to continue learning.
Being an early adopter of new and quickly evolving tools, I always enjoyed both learning these tools and passing on my knowledge to my colleagues and fellow students.
Since working as a business analyst implies a high affinity to programming, I also enjoy working as a web developer. It's that combination of self-taught knowledge and its application in a highly competitive consulting environment for various clients which gave me the ability to evaluate solutions from an industry perspective as well as from a learner's perspective. The latter also allows me to identify the pain points students might hit when learning these tools.
Since I always found it hard to find high quality, understandable and comprehensive learning materials, I decided to create such materials on my own. Together with Maximilian Schwarzmüller I founded Academind to offer the best possible learning experience on web development and data science to our more than 2.000,000 students.