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
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
890
OpenBlend - Git (and GitHub) for Padawan
benstraub
0
810
Other Decks in Programming
See All in Programming
Inside Stream API
skrb
1
650
今さら聞けないCancellationToken
htkym
0
220
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
120
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
180
The NotImplementedError Problem in Ruby
koic
1
650
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
220
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
610
さぁV100、メモリをお食べ・・・
nilpe
0
130
Claspは野良GASの夢をみるか
takter00
0
170
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
470
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Designing for Timeless Needs
cassininazir
1
250
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
WENDY [Excerpt]
tessaabrams
11
38k
Automating Front-end Workflow
addyosmani
1370
210k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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