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 will guide 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 usersGit Download & InstallationGit Theory – Working Directory, Staging Area (Index) and Repository explainedCreating Git RepositoriesWorking with CommitsUnderstanding BranchesUnderstanding the HEAD and the detached HEADNewly Introduced Git Commands with Git Version 2.23Deleting Data (Staged & Unstaged, Commits & Branches)Ignoring FilesThe StashMerging, Rebasing and Cherry PickingBringing Back Deleted Data with the ReflogConnecting Local Git Repositories to Remote GitHub RepositoriesGit Push & Pull (+ Fetch)Local, Remote Tracking & Remote BranchesGitHub Collaborators & ContributorsForks & Pull RequestsGitHub IssuesGithub Projectsand 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 🙂
Overview
Section 1: Introduction
Lecture 1 Welcome to this Course!
Lecture 2 What is Git?
Lecture 3 What is GitHub?
Lecture 4 Join Our Learning Community!
Lecture 5 Course Content
Lecture 6 How to Get the Most out of this Course!
Lecture 7 Course Slides
Section 2: Optional: Mac Terminal & Windows Command Prompt Introduction
Lecture 8 Module Introduction
Lecture 9 The Command Line – What & Why?
Lecture 10 Comparing the Mac & Windows Command Line
Lecture 11 Please Read! Windows & Mac Users
Lecture 12 Mac Terminal – The Basics
Lecture 13 Accessing Folders
Lecture 14 Absolute vs Relative Paths
Lecture 15 Creating & Deleting Files
Lecture 16 Introducing Flags and Removing Data
Lecture 17 Copying & Moving Files & Folders
Lecture 18 Mac Terminal – Core Commands Overview
Lecture 19 Windows Command Prompt – The Basics
Lecture 20 Absolute vs Relative Paths
Lecture 21 Creating & Deleting Files & Folders
Lecture 22 Copying & Moving Files
Lecture 23 Windows Command Prompt – Core Commands Overview
Lecture 24 Useful Resources & Links
Section 3: Version Management with Git – The Basics
Lecture 25 Module Introduction
Lecture 26 Theory – How Git Works
Lecture 27 Theory: Working Directory vs Repository
Lecture 28 Theory – Understanding Branches
Lecture 29 Please Read! Windows & Mac Users
Lecture 30 Installing Git on Windows
Lecture 31 Installing Git on MacOS
Lecture 32 Installing Visual Studio Code
Lecture 33 Initializing the Repository & Creating the First Commit (“git init” & “git commi
Lecture 34 Please Read: Exiting the Log
Lecture 35 Diving Deeper Into Commits with “git log”
Lecture 36 Understanding & Creating Branches
Lecture 37 Merging Branches – The Basics
Lecture 38 Understanding the HEAD
Lecture 39 The “detached HEAD”
Lecture 40 Branches & “git switch” (Git 2.23)
Lecture 41 Deleting Data – An Overview
Lecture 42 Deleting Working Directory Files
Lecture 43 Undoing Unstaged Changes
Lecture 44 Undoing Staged Changes
Lecture 45 Deleting Commits with “git reset”
Lecture 46 Deleting Branches
Lecture 47 Committing “detached HEAD” Changes
Lecture 48 Understanding .gitignore
Lecture 49 Wrap Up & Basic Commands Overview
Lecture 50 Useful Resources & Links
Section 4: Diving Deeper Into Git
Lecture 51 Module Introduction
Lecture 52 Understanding the Stash (“git stash”)
Lecture 53 Bringing Lost Data Back with “git reflog”
Lecture 54 Combining Branches – What & Why?
Lecture 55 Understanding Merge Types
Lecture 56 Applying the Fast-Forward Merge
Lecture 57 The Recursive Merge (Non-Fast-Forward)
Lecture 58 Rebasing – Theory
Lecture 59 Applying “git rebase”
Lecture 60 Handling Merge Conflicts
Lecture 61 Merge vs Rebase vs Cherry Pick
Lecture 62 Undestanding “git cherry-pick”
Lecture 63 Working with Tags (“git tag”)
Lecture 64 Wrap Up
Lecture 65 Useful Resources & Links
Section 5: From Local to Remote – Understanding GitHub
Lecture 66 Module Introduction
Lecture 67 What is GitHub?
Lecture 68 From Local to Remote Repository – Theory
Lecture 69 Creating a GitHub Account & Introducing GitHub
Lecture 70 Creating a Remote Repository
Lecture 71 Connecting Local & Remote Repositories
Lecture 72 Understanding the Personal Access Token
Lecture 73 MacOS Users Only: Please Read
Lecture 74 Pushing a Second Commit
Lecture 75 From Local to Remote – Understanding the Workflow
Lecture 76 Remote Tracking Branches in Practice
Lecture 77 Understanding Local Tracking Branches
Lecture 78 Creating Local Tracking Branches
Lecture 79 Remote & Tracking Branches – Command Overview
Lecture 80 Cloning a Remote Repository
Lecture 81 Understanding the Upstream
Lecture 82 Deleting Remote Branches & Public Commits
Lecture 83 Wrap Up
Lecture 84 Useful Resources & Links
Section 6: GitHub Deep Dive – Collaboration & Contribution
Lecture 85 Module Introduction
Lecture 86 The 4 GitHub Usecases
Lecture 87 Understanding GitHub Account Types
Lecture 88 Changing the Repository Type from Public to Private
Lecture 89 Pushing Commits to a Public Repository
Lecture 90 How GitHub Manages Account Security
Lecture 91 Understanding & Adding a Collaborator to a Private User Account
Lecture 92 Collaborating in Private Repositories
Lecture 93 Comparing Owner & Collaborator Rights
Lecture 94 Limiting Interactions
Lecture 95 Introducing Organizations
Lecture 96 Creating an Organization
Lecture 97 Exploring Member Repository Permissions
Lecture 98 Adding Outside Collaborators
Lecture 99 Adding Organization Members
Lecture 100 Failing to Manage Access for Individual Repositories
Lecture 101 Introducing Teams
Lecture 102 Managing Team Repository Access Efficiently
Lecture 103 Understanding Forks & Pull Requests
Lecture 104 Forking a Repository
Lecture 105 Pull Requests in Practice
Lecture 106 Opening & Closing Issues
Lecture 107 Working with GitHub Projects
Lecture 108 Creating a README File in a Repository
Lecture 109 Presenting Yourself as Developer on GitHub
Lecture 110 About GitHub Stars
Lecture 111 Wrap Up
Lecture 112 Useful Resources & Links
Section 7: Real Project Example: Git & GitHub Applied
Lecture 113 Module Introduction
Lecture 114 Preparing the Project
Lecture 115 Project Setup
Lecture 116 Creating our First Commit Locally
Lecture 117 Changing the ReactJS Project Code
Lecture 118 Pushing the Code to the Owner’s Remote Repository
Lecture 119 Cloning the Project & Changing the Code
Lecture 120 Pushing the Commit & Why it Fails
Lecture 121 Adding a Collaborator
Lecture 122 Creating the Personal Access Token & Pushing Successfully
Lecture 123 Merging the Owner Branches
Lecture 124 Fixing Merge Conflicts
Lecture 125 Accessing Code via Forks
Lecture 126 Contributing to the Project by Improving the Code
Lecture 127 Creating the Pull Request
Lecture 128 Accepting the Pull Request
Lecture 129 Useful Resources & Links
Section 8: Course Roundup
Lecture 130 Course Roundup
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
Course Information:
Udemy | English | 10h 24m | 2.49 GB
Created by: Academind by Maximilian Schwarzmüller
You Can See More Courses in the Developer >> Greetings from CourseDown.com