Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AppsWorld Europe 2013 - Git & GitHub for Ninjas
Search
Ben Straub
October 23, 2013
Programming
180
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
590
Hacking Culture with Javascript - CascadiaFest 2015
benstraub
0
610
Hacking Culture with Chat Robots
benstraub
0
1k
Mastering Git and GitHub (ConFoo 2014)
benstraub
5
420
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
590
Introduction to Git
benstraub
2
910
OpenBlend - Git (and GitHub) for Padawan
benstraub
0
820
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
830
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
330
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
32
14k
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.3k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
520
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
390
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
120
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
540
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
270
Making Projects Easy
brettharned
120
6.8k
The agentic SEO stack - context over prompts
schlessera
0
950
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
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