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
git workshop 2013-05-23
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Peter Lehmann
May 23, 2013
34
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
git workshop 2013-05-23
Peter Lehmann
May 23, 2013
More Decks by Peter Lehmann
See All by Peter Lehmann
devops
peterlehmann
0
46
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
The agentic SEO stack - context over prompts
schlessera
0
970
The Curious Case for Waylosing
cassininazir
1
570
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Making the Leap to Tech Lead
cromwellryan
135
10k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
Docker and Python
trallard
47
4.2k
Transcript
Git workshop Tips and howto
What is git • Git is a distribute version
control system(dvcs) • "No Single master" • "work offline" • A new flow • Installers: – Win: hDps://code.google.com/p/gitextensions/ – Mac: xcode command line tools –
setup • user.name|email • Github • Default
editor • SSH • Visual merge/diff tool
Ignore files • .giPgnore can be in root and
any sub folder • Apply from folder and sub • PaDerns are regex with ! as not
.giPgnore sample # User-‐specific files *.suo
*.user *.sln.docstates # Build results [Dd]ebug/ [Rr]elease/ x64/ build/ [Bb]in/ [Oo]bj/
Git aDributes • Help git about file types
• Text/bin • Line endings • Merge/diff
Sample .gitaDributes *.cs text eol=crlf diff=csharp *.csproj text
eol=crlf merge=union *.sln text eol=crlf merge=union *.config text eol=crlf *.resx text eol=crlf merge=union * text=auto eol=crlf *.sh text=auto eol=lf *.exe binary *.dll binary *.png binary *.jpg binary *.nupkg binary *.pdb binary *.vsix binary *.xap binary
Repository • Working folder • Staging/index •
Repository • Bare repository
Remotes • Why fetch over pull •
git push origin :feat1 • Git push origin feat:feat
Who did what/when • Git bisect • Git
blame • Git grep
log
Ohh did I do that • Git reset -‐-‐hard
• Git clean -‐xdf • Git checkout -‐-‐ <filepath>
workflows • Old subversion/ds style • Github workflow
Known what your are doing • Git rebase -‐-‐interacPve
• Git reset -‐-‐hard <commit> • Git push -‐f
Pps • Git config -‐-‐global alias.lol 'log -‐-‐oneline –
decorate -‐-‐graph' • Git config -‐-‐global alias.undo 'checkout -‐-‐' • Git push . <remote>/<branch>:<branch> • Git update-‐index -‐-‐assume-‐unchanged <file> • Git gc -‐-‐aggressive -‐-‐prune=now • Git log -‐-‐preDy="format:%h@%s%b" -‐-‐abbrev-‐ commit {0}..{1}