Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AppsWorld Europe 2013 - Git & GitHub for Ninjas
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ben Straub
October 23, 2013
Programming
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AppsWorld Europe 2013 - Git & GitHub for Ninjas
More notes at
https://gist.github.com/ben/c863ebce224d7260656b
Ben Straub
October 23, 2013
More Decks by Ben Straub
See All by Ben Straub
Hacking Culture with Javascript (CodeMotion Amsterdam 2017)
benstraub
0
570
Hacking Culture with Javascript - CascadiaFest 2015
benstraub
0
580
Hacking Culture with Chat Robots
benstraub
0
980
Mastering Git and GitHub (ConFoo 2014)
benstraub
5
410
Switching to Git – Why and How (ConFoo 2014)
benstraub
1
150
Web & PHP Con: Git for Ninjas
benstraub
0
270
ConFoo - Git for Ninjas
benstraub
1
580
Introduction to Git
benstraub
2
900
OpenBlend - Git (and GitHub) for Padawan
benstraub
0
810
Other Decks in Programming
See All in Programming
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
250
Performance Engineering for Everyone
elenatanasoiu
0
180
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
710
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
Vite+ Unified Toolchain for the Web
naokihaba
0
320
CSC307 Lecture 17
javiergs
PRO
0
320
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Automating Front-end Workflow
addyosmani
1370
210k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Designing Experiences People Love
moore
143
24k
Test your architecture with Archunit
thirion
1
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Music & Morning Musume
bryan
47
7.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Crafting Experiences
bethany
1
180
Transcript
Git & GitHub for Ninjas
What to Expect not
What to Expect
ben benstraub Ben Straub
None
None
Git & GitHub for Ninjas
Git & GitHub for Ninjas
Shell
bash
zsh
powershell
Aliases $ git config alias.lg = log --graph --pretty=oneline \
--abbrev-commit --decorate
Git Is Simple
Objects and Refs
Objects Are Easy
$ git cat-file -t d7abd6 blob $ git cat-file -p
d7abd6 <!DOCTYPE html> <!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]--> <!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]--> <!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html lang="en"><!--<![endif]--> <head> <meta charset="utf-8"> <title>{% if page.title %}{{ page.title }} - {% endif %}{{ si Blob
$ git cat-file -t 8f5b65 tree $ git cat-file -p
8f5b65 100644 blob 08b8e3400a81a79aeb42878171449b773ab493c0 after_foot 100644 blob 11517b315de6d7bc7550cc74ae413f1e6dafce19 archive_po 100644 blob 8ad5afd4581caa7458658325aeec9f8de875b988 article.ht 040000 tree 5c2166adaa57c909182a45b995dfb750c22c8810 asides 040000 tree 52deb7c58d46aa09208c0b863fbecee81a2e3dad custom 100644 blob eb308779fa09eadd8575b1acea2801f16ef1d839 disqus.htm 100644 blob 74f91307278c092bca1e862337cb8d2b1ac14d94 facebook_l 100644 blob 3a8c7687474e513b196b50f5634c6decd14ed484 footer.htm Tree
$ git cat-file -t e365b187 commit $ git cat-file -p
e365b187 tree 58c796e7717809c2ca2217fc5424fdebdbc121b1 parent d4291dfddfae86cfacec789133861098cebc67d4 author Ben Straub <
[email protected]
> 1380719530 -0700 committer Ben Straub <
[email protected]
> 1380719530 -0700 Fix typo, remove false statement Commit
$ git cat-file -t 849a5e34a tag $ git cat-file -p
849a5e34a object a65fedf39aefe402d3bb6e24df4d4f5fe4547750 type commit tag hard_tag tagger Ben Straub <
[email protected]
> Fri May 11 11:47:58 201 Tag on tag Tag Annotation
Refs are Easy
$ cat refs/heads/master 2b67270f960563c55dd6c66495517bccc4f7fb17 Refs
$ cat refs/tags/v0.19.0 eddc1f1ed78898a4ca41480045b1d0d5b075e773 Tags
$ cat HEAD ref: refs/heads/master Symbolic Refs
Symbolic Refs
Symbolic Refs • branch -> commit
Symbolic Refs • branch -> commit • HEAD -> branch
-> commit
Symbolic Refs • branch -> commit • HEAD -> branch
-> commit • tag -> commit
Symbolic Refs • branch -> commit • HEAD -> branch
-> commit • tag -> commit • tag -> annotation -> commit
Symbolic Refs • branch -> commit • HEAD -> branch
-> commit • tag -> commit • tag -> annotation -> commit • tag -> blob
Symbolic Refs • branch -> commit • HEAD -> branch
-> commit • tag -> commit • tag -> annotation -> commit • tag -> blob • HEAD -> branch -> tag -> annotation1 -> annotation2 -> blob
Symbolic Refs • branch -> commit • HEAD -> branch
-> commit • tag -> commit • tag -> annotation -> commit • tag -> blob • HEAD -> branch -> tag -> annotation1 -> annotation2 -> blob • WAT
Git Is Simple?
Bisect
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Rebase Rebase
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Filter-Branch
None
None
None
None
None
None
None
Don’t Overwrite Remote History
But if You Do git pull --rebase
Git & GitHub for Ninjas
Git & GitHub for Ninjas
Hub
Hub Teaches Git about GitHub
Fancy Cloning git clone https://github.com/mojombo/jekyll
Fancy Cloning git clone https://github.com/mojombo/jekyll hub clone mojombo/jekyll
Issue Pull Request hub pull-request -i <issue>
The Best Way alias git=hub
Get It http://hub.github.com/
Pull Requests
From a Fork
From Not a Fork
Not Just For Finished Code
Markdown
None
None
Emoji :sunset: :clap: :cookie: :poop: :sheep::dash:
Emoji h p://www.emoji-cheat-sheet.com/
None
⌘
None
Closing Issues Spooky Action at a Distance
With Commits
With Commits
With Pull Requests
With Pull Requests
Mentions
Summon a Person @ben, what do you think?
Or a Team @github/dotcom, what do you think?
Or a Team @github/legal, what do you think?
Or Something Else @github/javascript, what do you think?
Or Something Else @github/design, what do you think?
Or Something Else @github/refactoring, what do you think?
Or Something Else @github/colorblind, what do you think?
Non-Code Repos
None
None
Clients
GitHub Mac
GitHub Windows
Full Clients http://git-scm.com/downloads/guis
The Weird Stuff
http://git.io/LuPVlg