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
Intro to Git for the Python Hacker
Search
Jade Allen
September 14, 2012
Technology
360
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Intro to Git for the Python Hacker
A gentle introduction to git for a python programmer
Jade Allen
September 14, 2012
More Decks by Jade Allen
See All by Jade Allen
All About Regular Expressions
jadeallenx
1
320
Hexes, Charms and Spells
jadeallenx
0
200
3 > 2
jadeallenx
0
1.2k
Idiomatic Erlang
jadeallenx
0
210
The Sharp Edges of Leaky Abstractions
jadeallenx
0
140
Sagas: Distributed Transactions Without Locks
jadeallenx
0
590
Before Unix: Early History of Time-Sharing
jadeallenx
0
280
Functional Programming Made Me a Better Perl Developer
jadeallenx
1
380
Assigning Meanings to Programs
jadeallenx
0
310
Other Decks in Technology
See All in Technology
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
200
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
600
PQC移行の今 -- IETF からみた現在地
satokan
4
510
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
110
猫でもわかるKiro Web
kentapapa
1
130
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
1.4k
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
150
AI coding 整合正規方法
philipz
0
550
手を動かして実感する、Kiro が変える開発体験
inariku
0
400
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
120
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
130
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
200
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
530
For a Future-Friendly Web
brad_frost
183
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
370
The Language of Interfaces
destraynor
162
27k
Tell your own story through comics
letsgokoyo
1
1.1k
Designing for humans not robots
tammielis
254
26k
We Are The Robots
honzajavorek
0
380
Odyssey Design
rkendrick25
PRO
2
820
Un-Boring Meetings
codingconduct
0
430
Transcript
Intro to Git! for Python Hackers! ! ! Mark Allen!
[email protected]
! @bytemeorg! http://byte-me.org! https://github.com/mrallen1!
Distributed ! Version ! Control! System!
Fast! !
Tons of features! !
Pervasive use in the community!
Worst. Interface. Evar.!
1. Terms and lingo! 2. Basic workflow! 3. Topic branches!
4. Starting and/or contributing to github projects.! 5. Cool Python stuff!
Terms / Lingo http://marklodato.github.com/visual-git-guide/index-en.html!
Terms / Lingo http://marklodato.github.com/visual-git-guide/index-en.html!
Basics subversion! ! $ svn co \! https://example.com! $ vim
myfile.py! $ svn status! $ svn diff! $ svn ci -m'My commit'! git! ! $ git clone \! https://example.com! $ vim myfile.py! $ git status! $ git add -- myfile.py! $ git diff! $ git commit \! -m'My commit'! $ git push!
Basics ! $ git clone https://example.com! $ vim myfile.py! $
git diff! $ git add myfile.py ! $ git status! $ git commit -m'My commit'! $ git push origin master! origin Where What
I want to...! !create a new local repository! $ mkdir
myproject! $ cd myproject! $ git init! Basics
I want to...! ! ! !copy a remote repository! !
$ git clone https://example.com! $ git clone
[email protected]
:project.git! Basics
I want to...! ! ! !stage a file for a
commit! ! $ git add -- myfile.py! Basics
I want to...! create a commit! ! $ git commit!
Basics
I want to...! add to the last commit! ! $
git commit --amend! Basics
I want to...! ! ! diff against a commit! !
$ git diff! $ git diff HEAD^! $ git diff HEAD~4! $ git diff 1bc38 -- myfile.py! Basics
I want to...! ! ! ! see commit history! !
$ git log! Basics
I want to...! ! ! !update a local repository! !
$ git pull! Basics
I want to...! give a commit a memorable reference! !
$ git tag mytag 1bec3! $ git push --tags! $ git diff mytag -- a.py! Basics
I want to...! add a remote storage location! ! $
git remote add origin https://example.com! ! -also-! ! $ git remote rm origin! Basics
I want to...! push my local work to a remote
location! ! $ git push! $ git push -u origin foo! Basics
I want to...! temporarily save my work and work on
something else! $ git stash! # ...! $ git stash pop! Basics
Git commands ! • are (mostly) scripts! • bash, python,
perl! • you can extend!
Topic branches! ! • What are they?! • Why are
they useful?! • How do you use them?! Topic branches
$ git branch rt14322! $ git checkout rt14322! -or-! $
git checkout -b rt14322! ...! Topic branches
$ git checkout master! $ git merge rt14322! Topic branches
GitHub
GitHub
GitHub https://github.com/signup/free!
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub
GitHub Congratulations, your pull request was submitted!! ! Things to
do now:! • Relax! • Have a tasty beverage! • Enjoy the accolades of a grateful Python community!
Augh! My library is in CVS or SVN!! • I'm
sorry for your pain.! • Github has tools and guides to help you migrate!
Cool Python Stuff! • dulwich, a pure python git implementation!
• GitPython, wraps git command line tools! • Legit, a more humane git CLI (by Kenneth Reitz)! Python
Cool Python Stuff! • pygit2 - Python binding for libgit2
(an alternative C implementation)! • git-cola - a graphical git client written in Python! Python
Thank you!! Questions?!