Binge watch all the vidoes on distributed source version control
- Wilson Mar
- By GitHub people
- Git Hosting
- Client Tooling
- CollabNet (TeamForge)
- Training vendors
- Michael Koby
https://goo.gl/12C1BF is my playlist on Git and GitHub where I put the latest versions of each:
Introduction to the class “Git and GitHub for Developers and Testers” at Techwell conferences
By GitHub people
Tech Talk: Linus Torvalds on git at Google
Co-founder of GitHub until 2014 ( @mojombo, http://tom.preston-werner.com/)
- Mastering Git Basics [53:22] casual
Scott Chacon, CIO of GitHub
git-scm.com/documentation/external-links lists written tutorials from those outside of Git’s employment, including Ry of Ry’s Git Tutorial.
Introduction to Git July 27, 2011 [1:22:11] talks internals.
Everything I Wish I Knew When I Started Using GitHub [43:20] by Brent Beer, GitHub Sales Engineer, speaking at OSCON in Portland, Oregon, July 2015.
Mastering Git series by Matthew McCullough with Tim Berglund (using Git 1.7.2):
- Setting Up Git & Configuring Git (1/10)
- Three Stage Thinking, The Git File Workflow & Speed (2/10)
- Cloning Repositories (3/10)
- Command Composition, Storage, and Hashes (4/10)
- Branches (5/10)
- Remotes (6/10)
- Tagging (7/10)
- Merging (8/10)
- Rebasing (9/10)
- Undo & Bonus (10/10)
Matthew McCullough, VP Training
A rather cerebral introduction made in 2012:
GitHub Universe conference
Git Merge conference
- Teaching People Git [31:14] at Git Merge 2015 by Emma Jane Hogbin Westby
For Free Code Camp on YouTube Sep 2016 quick (conceptual) videos with captions and graphics on a white board:
- Introduction to Git & GitHub [1:09]
- Branching and the GitHub Workflow [2:12]
- GitHub Workflow for Open Source [1:37]
- Cloning & Working Locally [1:48]
- Most Used Git Commands [1:58]
- How Commits Work [0:55]
- 2-Step Commit [1:29]
- Merging [0:42]
- Merge Conflicts [1:28]
- Rebasing [1:12]
- Undoing Commits [1:29]
Edward Thompson via O’Reilly
(@ethompson, edwaredthompson.com), Software Engineer at Microsoft who programmed libgit2 (implementations of Git using C language for C#, etc.), LibGit2Sharp, Visual Studio, Visual Studio Online Version Control
- Getting Started (Configuring; Creating, Opening, Cloning Repository)
- Working With Local Repositories
- Branching and Merging
- Working with Remote Repositories
- Working with Visual Studio Online
- Working With GitHub
- Interacting With Command Line Tools
Easiest on the eyes: Briana Swift from GitHub with Jeremy Foster, a Microsoft technical evangelist present a series on Microsoft Virtual Academy. But someone downloaded the videos to YouTube on 1 Nov 2016:
|1||Basic Concepts and the GitHub Workflow|
Clone entire history locally. Git changes your working directory for a branch.
Part 3 Git vs GitHub [3:49]
Part 4 GitHub Flow [8:58]
|2||GitHub in the Browser|
PROTIP: Always create repo with a README.md.
Part 2 [3:01]
|4||GitHub Integrations with Visual Studio:|
|5||GitHub on the Command Line:|
Jeremy Using Git and GitHub [54 minutes] 6 Oct 2016.
Using Git with Visual Studio 2013 with Visual Studio Online and Windows Azure was created March, 2014 by @StevenBorg (salesy hand-wavy boss) and @JamesTupper (technical guy) of Northwest Cadence:
Mod 01: Choosing the Right Version Control begins at 12:38 (after the chit-chat)
“Learn Git before going into Visual Studio”
[3:04] On Fedora: yum install git-core, On Debian: apt-get install git
choco install poshgit
set-executionpolicy remotesignedand restart
[15:35] git config
[19:30] cinst git-credential-winstore
[7:39] Centralized Workflow (like Subversion, Perforce)
[8:10] Integration-Manager Workflow (sub repository)
[10:42] Dictator-Lieutenant Workflow
[0:50] git commit –amend
cherry-picking merges. [18:24] git revert commit
[20:01] pcottle is now http://learngitbranching.js.org/
git config alias
reset rewriting history
In the GitLab YouTube channel:
Introduction to GitLab Workflow [49:14] [3:10] ToDos
Job @jobvo (VP of Product) introduced by Heather
IntelliJ IDEA IDE
This IDE is the darling of developers. From among videos for users of IntelliJ Community Edition on this Playlist are these on Git:
Atlassian Source Tree
Knowledge is Power: Getting out of trouble by understanding Git [46:50] at Devoxx Nov 2015 by Steve Smith dives into the Git data model.
git add some-file.txt
“A blank commit will always yield the same SHA” is WRONG because a time stamp is inside the content hashed?
He shows a video clip of “Prince of Persia” who gets out of trouble by using his time travel device.
Tower is a popular stand-alone Git client for Mac and Windows.
- What is Version Control [3:08]
- Installing & Configuring Git [1:40]
- The Basic workflow of Version Control [3:04]
- Creating a new repository [1:35]
- Cloning an Existing Repository [3:10]
- Inspecting Local Changes [4:10]
- Staging and Committing Changes [4:28]
- Commit History [1:40]
- Ignoring files [1:40]
- Introducing to Branches [1:40]
- Creating and Checking Out Branches [1:40]
- Merging Branches [1:40]
- Stash - Saving Changes Temporarily [3:16]
- Rebase as an Alternative to Merge [5:17]
- Branching Workflows [4:36]
Git Real 1 and 2
This series on thoughtbot provides a real hands-on learning experience by making you enter the commands.
by Greg Pollock
- Introduction (1/7) [8:19]
- Staging & Remotes (2/7) [10:32]
- Cloning & Branching (3/7) [6:29]
- Collaboration Basics (4/7) [5:57]
- Git Real - Branching (5/7) [6:57]
- Rebase belong to us (6/7) [4:25]
- History and Configuration (7/7) [8:05]
Hashes as playing cards
The “Magic of Git Exposed” by Andy Benedict (andy at andybenedict.com) Apr 4, 2016 illustrates concepts using a custom deck of playing cards you can print out from US letter paper or European A4 paper.
- Part 1 [7:14] begins with an apt “incomprehensible incantations”.
[2:02] His “Git in One Sentence” is epic (and quite complete):
“Git is a version control system design to track the history of text files across multiple distributed instances, without the need for constant communication between instances, by representing files, their relationships, and their history as complete, raw data blogs stored in a compressed database indexed by statistically unique, content based, pseudo-random hashes and whose entire history and content can be accessed, from any arbitrary starting point, by means of recursive traversal or its node space, which is best represented in the form of a directed acyclic graph mapped, along with its content, in four dimensions.”
Instead of SHA hash codes, the video uses the more familiar references used in a 52-card deck of playing cards, such as the Jack of diamonds. The deck has a known sequence (Ace, King, Queen, Jack, 10, etc.) for each of four French “suits” (hearts, diamonds, clubs, spades).
Great idea. But I was confused by the explanation.
Part 3 [8:15] talks about a 3-way merge.
The deck of different players are different Git branches.
[5:44] git rebase
Git Internals pdf (from 2008, last updated 2013) by Scott Chacon (CTO of GitHub) is carried forward from PeepCode before Pluralsight bought it.
Using Git with a GUI Mar 08, 2016 [2h 38m] by Xavier Morera
How Git Works Mar 10, 2016 [1h 48m] by Paolo Perrotta
Using GitFlow Feb 22, 2016 [1h 4m] by Kevin Jones
Integrating Node Applications with GitHub by Daniel Stern
Advanced Git Tips and Tricks May 02, 2016 [2h 28m] by Enrico Campidoglio
<a target=”_blank” href=”https://app.pluralsight.com/library/courses/tfs-2015” End-to-end Software Development with Team Foundation Server 2015 May 09, 2016</a> [4h 26m] by Esteban Garcia
When LinkedIn bought Lynda in 2016, the whole Lynda library of videoes got included
in LinkedIn’s Premium subscription of $29/month.
That means you get to send emails to strangers and learn as well.
Someone put the videos from https://www.linkedin.com/learning/git-essential-training in YouTube. But realize that
CAUTION: You’re missing the quizzes unless you’re on Lynda.com.
1) What is Git -
2) Installing Git
3) Getting Started
4) Git Concepts and Architecture
Exploring the 3 trees architecture (Staging area , working directory,repository)
5) Making Changes to Files
7) Undoing Changes
8) Ignoring files
9) Navigating the Commit Tree
11) Merging Branches
12) Stashing Changes
14) Tools and Next Steps
- Setting up aliases for common commands (Viewed)
- Using SSH keys for remote login (Viewed)
- Save Using SSH keys for remote login
- Exploring integrated development environments
- Exploring graphical user interfaces
- Understanding Git hosting
$9 a month at Laracasts.com gets you access to videos that are applicable to not just the Laravel PHP platform. There’s something about Jeffrey Way’s voice that’s it’s like a Disney toy unboxing video. (He’s at jeffrey-way.com)
In his Git Me Some Version Control series:
- Say Hi to Git [9:07]
- What Git Add Actually Does [5:28]
- Fixing and Amending Commits [4:28]
- Basic Workflow [6:07]
- Branching [10:14]
- Git Aliases [3:11]
- Handling Merge Conflicts [5:02]
- Stash Away Changes [8:14]
- Pushing to GitHub [6:26]
- Rebasing [8:09]
- Interactive Rebasing [10:17]
From the same head talking about Rails, Docker, Solidus, Elasticsearch, and React, a popular series:
- What is Git? [3:48]
- GIT: Installation, Configuration and First Commit
- GIT: Working with Branches
- GIT: Git Flow Introduction
- GIT: Git Flow Feature Branch and Pushing to GitHub [11:16] 6 Dec 2015
- GIT: Git Flow and Github Pull Request [6:53] 1 Jan 2016
https://www.udacity.com/course/how-to-use-git-and-github–ud775 Udacity has a FREE hands-on tutorial by Google people. It pauses with quizzes along the way. So it takes some patience get through its thoroughness.
It starts by diving right in with diff.
- Git Merge vs Rebase? [7:40]
- An Introduction to Git and GitHub by Brian Yu (brianyu28) [38:26] shows a clear presentation, with demos.
Several people, on their personal time, created videos for others to enjoy for free.
Git mastery in 20-minute increments series is the most fearless and deep. It was created when Seth is at cars.com in Jul 2012.
- Merging and Mergtool
- git pull –rebase Video shows commands update-ref, graph-dag script. Uses a program to graph branches to a graphics.
The “git-dag” utility to display Git DAGs is at https://github.com/whiteinge ?
Talk #2 - Digging deep into Git (Spanish)
GitHub for Noobs
Travis Neilson, “a noob, just like you, which makes me the perfect candidate” for making a 4-part series with back-beat music, cartoons, and video memes (for ad revenue and donations on Patreon.com).
- A Short History (1/4) [4:44] Feb 1, 2016 (difference between Git and GitHub)
- Common Workflows (2/4) [6:35] Feb 8, 2016
- Using the GitHub Desktop App (3/4) [23:59] Feb 15, 2016
- Using the Command Line (4/4) [23:12] Feb 22, 2016
- 000 - Introduction
- 100 - Distributed vs Central
- 200 - Basics of Committing
- 300 - More Committing
Untracked files and unstaged changes are not specific to a branch until a commit.
- 500 - Branching Part 2
- 600 - Branching Part 3
- 700 - Break
- 800 - Remote Repositories
- 900 - Intro to GitHub
- 1000 - Git Push
- 1100 - Git Fetch, Git Pull
- 1200 - Pull Requests Part 1
- 1250 - Pull Requests Part 2
- 1300 - Workflow
- 1400 - Where to go from here
- 1500 - Fast-Forward Merging Part 1
- 1550 - Fast-Forward Merging Part 2
- 1575 - Fast-Forward Merging Part 3
- 1600 - Rebasing Part 1
- 1650 - Rebasing Part 2
From Sep 2015 to Nov 2016, this series I think is the most in-depth among all videos on YouTube. No diagrams. Everything shown occurs on the command line, even the title of each video.
BTW I don’t agree with Dan’s statement: “I purposefully focus on the command line usage of Git, because lets face it, if you’re using a GUI with Git, you probably have no idea what’s going on :P”
Dan is such a technical bad-ass he uses as an example something literally from rocket science (well, it’s a game about being in weightless space, but nonetheless it’s from NASA):
Introduction To Git [13:43]
Notice he defined MacOS alias gs for git status.
Your First Git Repo [13:07]
Dan’s hello world is in cpp (C++) source code, of course. ;)
He uses vim as a text editor.
And he shows how to run make to compile/build a binary file that should not be committed by defining the .gitignore file.
Discard changes with git checkout filename
Remove a cloned folder using rm -rf hello-world/.
- Traversing Git History [18:55] looks into the .git folder. git log. git show.
Notice he defined MacOS alias ll = ‘ls -al’
[20:01] fast-forward merge. FETCH-HEAD in git pull.
- Git diff and git difftool [15:48] vimdiff, meld, etc. git diff HEAD HEAD^
- Git Stash [12:54]
- Introduction to Git Push [18:11]
- Introduction to Git Submodules [26:51]
- More about git submodules [19:46]
- The Git Index [17:52]
- Introduction to Git Branches [27:40]
- Introduction to Git Merge Conflicts [23:34]
- Manipulating Branches [18:14]
- Squash Commits with Git’s Interactive Rebase [14:53]
- Git Status as an Estimate [13:49]
- Introduction to Git cherry-pick [13:15]
- Git Archive [10:57]
- Git branches aren’t branches [15:28]
- Introduction to git rebase [17:27] 22 May 2016 uses the create_commits.py Python history emulator program.
- Remove a file from all git history [16:28]
- Introduction to git bisect [17:44]
- Introduction to git grep [11:34]
- Introduction to Git Hooks [17:02] 6 Nov 2016
- Video Introduction describes various version control programs.
- Video Intro to Git
- Video Undoing things
- Video Remotes
- Video Branching
- Video Branches
- Video Rebase 3-way merge
- Video Merge Conflicts
- What is Version Control? [9:35]
- Vocab (Repo, Staging, Commit, Push, Pull) [15:16]
- Installation, Command-line & Clone [14:35]
- GitHub (Pushing to a Server) [14:44] begins with getting an account.
GIT QuickStart using Visual Studio:
- 3 GIT Repository and clone [11:36] 14 Jan 2017
- 4 Working with branches [16:54] 16 Jan 2017
- 5 How to commit changes [23:48] 23 Jan 2017
- 6 Sychronization [15:14] 26 Jan 2017
- 7 Review code with pull requests [23:14] 26 Jan 2017
- 8 Merge/Rebase branches [28:04] 7 Feb 2017
- 9 Use of Cherry-Pick [16:51] 8 Feb 2017
- 10 Squash Merge [27:21] 9 Feb 2017
- 11 Undo changes [33:56] 14 Feb 2017
- 12 Publish code
git rebase interactive :: practical example Nov 29, 2016 by Samer Buna
Git For Ages 4 And Up at Linux.conf.au 2013 at Canberra, Australia uses a Kinnex toy construction set to illustrate the chain of commits.
Extending DevOps practices to SQL Server databases - Branching & Merging with Git [1:00:29] 18 Jan 2017 by Redgate (database tool vendor)
This is one of a series on Git and GitHub:
- Why Git? (file-based backups vs Git clone)
- Git-client based workflows
- Git rebase
- Git commits with a Tag and Signature
- Git hooks
- TFS vs GitHub
- GitHub GraphQL API
- GitHub PowerShell API Programming
- GitHub GraphQL PowerShell Module