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
620
Elixir GenStage & Flow
teamon
2
1.2k
Elixir - Bydgoszcz Web Development Meetup
teamon
2
1k
Sidekiq
teamon
1
210
Rails Assets wroc_love.rb
teamon
1
830
Angular replacements for jQuery-based libraries
teamon
1
450
Angular replacements for jQuery-based libraries
teamon
2
350
Rails Assets LRUG
teamon
0
7.6k
Other Decks in Programming
See All in Programming
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
190
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
180
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
270
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
560
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
780
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
130
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
最近”作らせてる” ローカルAIアプリの話
akit37
0
200
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.9k
すこし踏み込む CancellationToken
htkym
2
1.6k
Java 27新機能 / Java 27 new features
kishida
2
200
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
The browser strikes back
jonoalderson
0
1.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
HDC tutorial
michielstock
2
950
Building the Perfect Custom Keyboard
takai
2
890
Thoughts on Productivity
jonyablonski
76
5.4k
Practical Orchestrator
shlominoach
192
12k
Balancing Empowerment & Direction
lara
6
1.3k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
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