孤独なGit

∼ホットスポットな設定ファイルのためのブランチ戦略∼
by Yu Matsushita drowse314-dev-ymat@github
Low HighMid
power
TARGET AUDIENCE
Q.
UNIX系
設定ファイルをいじるのは
お好きですか?
Zsh tmux
editor development env.
i m loving it…
2013
6月
2013
8月
2013
10月
2013
12月
2014
2月
2014
4月
i m loving it…
一度に2∼6種類の変更
実作業で試してみないと判断できないものが多い
コマンドのAliasの設定
エディタのテーマや表示の見やすさ
プラグイン導入を導入するかどうか
Problem.
全ての変更を複数のマシン上で
気軽に試しながら生活したい
でもきれいな歴史(コミットログ)が見たい
あとコンフリクトはイヤだけど
不採用なやつはrevertコミットで消したい
https://www.flickr.com/photos/caribb/5646760941
BRANCHING #1
試行錯誤用ブランチ
きれいにしたらその都度マージ?
master
develop
試行錯誤用ブランチ
きれいにしたらその都度マージ?
master
develop
この線が一本である限りrevert時のコンフリクトが…
あと色々混ざっててきたない
試行錯誤用ブランチ
きれいにしたらその都度マージ?
master
develop
マージ いつやるの?
タイミングよくdevelopのコミットが
全採用になんてならない
https://www.flickr.com/photos/caribb/5646760941
BRANCHING #2
トピックブランチの徹底
独立した変更は全て分割してブランチに
adopt
trial-vim-plugin-a
trial-vim-plugin-b
trial-zsh-change-prompt
trial-git-aliases
トピックブランチの徹底
独立した変更は全て分割してブランチに
adopt
trial-vim-plugin-a
trial-vim-plugin-b
trial-zsh-change-prompt
trial-git-aliases
変更を同時に
試せないのでは…?
全てを試すためのブランチを導入
独立した変更は全て分割してブランチに
adopt
trial
トピックブランチを全てマージ
採用になった変更だけが常に集まる
adopt
trial
変更を採用する場合
派生ブランチの内容は独立しているのでコンフリクトしない
adopt
M trialM
マージコミットをrevert
変更を不採用にする場合
全体像
D
B
A
adopt
C
+A +B +C +D +B trial+C
+A +D
全体像
きれいな歴史のライン
D
B
A
adopt
C
+A +B +C +D
試行錯誤の歴史のライン
+B trial+C
+A +D
master
とは
何だったのか…
https://www.flickr.com/photos/activesteve/4371503548
一度冷静になる
新しいマシンに苦労なく導入できるか?
adopt
trial
= 新しいマシンに導入するための情報を
完備したブランチ
master
master
Fixed.
全ての変更を複数のマシン上で
気軽に試しながら生活したい
でもきれいな歴史(コミットログ)が見たい
あとコンフリクトはイヤだけど
不採用なやつはrevertコミットで消したい
Enjoy your Config
Life with Git !
Reference.
・こわくないGit
http://www.slideshare.net/kotas/git-15276118
→ こういうのがやりたかった・超わかりやすい・色使い
・dotfiles
https://github.com/drowse314-dev-ymat/dotfiles
→ そういう感じで管理しはじめたリポジトリ

孤独なGit