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
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
630
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
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
33k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
ジョジョの世界をXRで再現する
mofurune
0
180
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
Simple Storage Service(S3) is not simple
iwatsukayura
0
300
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
280
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Being A Developer After 40
akosma
92
590k
Discover your Explorer Soul
emna__ayadi
2
1.3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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