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 - Monterail style
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tymon Tobolski
July 01, 2015
Programming
220
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Git - Monterail style
Tymon Tobolski
July 01, 2015
More Decks by Tymon Tobolski
See All by Tymon Tobolski
Only possible with Elixir - ubots Case Study
teamon
0
330
Fun with Elixir Macros
teamon
1
640
Elixir GenStage & Flow
teamon
2
1.2k
Elixir - Bydgoszcz Web Development Meetup
teamon
2
1k
Sidekiq
teamon
1
220
Rails Assets wroc_love.rb
teamon
1
840
Angular replacements for jQuery-based libraries
teamon
1
460
Angular replacements for jQuery-based libraries
teamon
2
350
Rails Assets LRUG
teamon
0
7.6k
Other Decks in Programming
See All in Programming
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Kotlinの15年とServer-Side Kotlin
n_takehata
1
200
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
230
Railsバージョンを4倍にした話
optim
0
920
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
610
Getting Started with Vibe Coding
miccheng
0
180
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.6k
オーケストレーション記述言語 Katari
yukikurage
0
220
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
130
Crash Auto Pipelines
veronikapj
1
350
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Featured
See All Featured
Marketing to machines
jonoalderson
1
6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
The Limits of Empathy - UXLibs8
cassininazir
2
760
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
510
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
760
Ruling the World: When Life Gets Gamed
codingconduct
0
430
Everyday Curiosity
cassininazir
0
390
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
How to make the Groovebox
asonas
2
2.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
320
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
290
Transcript
GIT MONTERAIL STYLE © Tymon Tobolski, 2015
Note about the language ... © Tymon Tobolski, 2015
BASICS © Tymon Tobolski, 2015
COMMIT FLOW © Tymon Tobolski, 2015
BRANCHING © Tymon Tobolski, 2015
PROTIP: NEW BRANCH $ git branch feature $ git checkout
feature is the same as $ git checkout -b feature © Tymon Tobolski, 2015
MERGING © Tymon Tobolski, 2015
PUSH & PULL © Tymon Tobolski, 2015
CONFIGURATION $ git config --global user.name "Tymon Tobolski" $ git
config --global user.email "
[email protected]
" © Tymon Tobolski, 2015
~/.gitconfig [user] name = Tymon Tobolski email =
[email protected]
[rerere]
enabled = true [github] user = teamon [alias] st = status ci = commit co = checkout br = branch ph = push pl = pull [core] excludesfile = /Users/teamon/.gitignore_global [push] default = simple © Tymon Tobolski, 2015
PROTIP: ALIASES # .gitconfig [alias] st = status ci =
commit co = checkout br = branch ph = push pl = pull # later in shell $ git co feature/JIRA-123 © Tymon Tobolski, 2015
.gitignore (RAILS APP) # Ignore bundler config. /.bundle # Ignore
the default SQLite database. /db/*.sqlite3 /db/*.sqlite3-journal # Ignore all logfiles and tempfiles. /log/*.log /tmp # Ignore personal setup /config/database.yml © Tymon Tobolski, 2015
~/.gitignore_global (SYSTEM WIDE) # Logs and databases *.log *.sql #
OS generated files .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes Icon? # Ruby stuff .ruby-version .rbenv-version .rbenv-vars # and more ... © Tymon Tobolski, 2015
~/.gitignore_global SETUP $ git config --global core.excludesfile ~/.gitignore_global REFERENCES ▸
http://islegend.com/development/setting-global-gitignore-mac-windows/ ▸ https://help.github.com/articles/ignoring-files/#create-a-global- gitignore © Tymon Tobolski, 2015
PROTIP: PROMPT google "git bash prompt" © Tymon Tobolski, 2015
COMMIT MESSAGE [JIRA-123] Capitalized, short (50 chars or less) summary
More detailed explanatory text, if necessary. It can span multiple lines. [skip ci] github.com/monterail/guidelines/blob/master/git.md © Tymon Tobolski, 2015
Write present-tense, imperative-style commit messages GOOD: [JIRA-123] Add currency service
BAD: [JIRA-123] Adds currency service BAD: [JIRA-123] Added currency service © Tymon Tobolski, 2015
If commit is for some reason not assigned to any
ticket, we use following tags: [fix] Changes fixing code not assigned to issue [docs] Changes of documentation, not affecting code [style] Changes that do not affect the meaning of the code [refactor] Changes that affect code, but not behavior of app [perf] Changes that improve performance [test] Adding missing tests [chore] Other, usually boring or repeating tasks © Tymon Tobolski, 2015
REBASE © Tymon Tobolski, 2015
"MERGE HELL" © Tymon Tobolski, 2015
CASE 1 TWO DEVELOPERS WORKING ON THE SAME FEATURE ©
Tymon Tobolski, 2015
merge rebase © Tymon Tobolski, 2015
CASE 2 MERGING MULTIPLE FEATURES © Tymon Tobolski, 2015
merge rebase © Tymon Tobolski, 2015
REBASE © Tymon Tobolski, 2015
REBASE Getting up to date with master $ git checkout
feat/abc $ git rebase master Merging feature into master $ git checkout master $ git merge --no-ff feat/abc © Tymon Tobolski, 2015
PROTIP: GIT UP $ gem install git-up $ git up
master up to date feature/ABC-123 rebasing... feature/ABC-456 fast-forwarding... preprod up to date github.com/aanand/git-up © Tymon Tobolski, 2015
QUESTIONS? © Tymon Tobolski, 2015