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
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
220
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
190
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
450
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.3k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.2k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
The NotImplementedError Problem in Ruby
koic
1
650
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.5k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
610
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
dRuby over BLE
makicamel
2
320
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
Six Lessons from altMBA
skipperchong
29
4.3k
KATA
mclloyd
PRO
35
15k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Large-scale JavaScript Application Architecture
addyosmani
515
110k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Optimizing for Happiness
mojombo
378
71k
Site-Speed That Sticks
csswizardry
13
1.2k
Rails Girls Zürich Keynote
gr2m
96
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Docker and Python
trallard
47
3.9k
Skip the Path - Find Your Career Trail
mkilby
1
140
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