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
590
Hacking Culture with Chat Robots
benstraub
0
990
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
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5.4k
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
260
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
8
14k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
160
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
240
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
340
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
360
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
370
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
240
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Everyday Curiosity
cassininazir
0
260
From π to Pie charts
rasagy
0
240
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
The agentic SEO stack - context over prompts
schlessera
0
850
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
Six Lessons from altMBA
skipperchong
29
4.3k
Side Projects
sachag
455
43k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
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