じぐぃ。
半分おふざけだけど、簡単にbranchとtagについて説明するためのリポジトリ
あと自分の理解度についての言及
ぶっちゃけるとこの記事を読むとわかることなんだけど
英語ができないと聞くから実際にやって説明してやろうと思ったら実は日本語訳の記事があって、んじゃこれでおkってなった
gitでうまくWebサービスを運用するための方法とかはまさにこれを読めばいいと思う。
- 最高に楽をして開発しようぜ
- ブランチ切るのにびびるな
- CVS,SVNクソ
git init
git add .
git commit
ここまでテンプレ
git checkout -b develop #developブランチを切る
git checkout -b develop master #masterブランチを明示的に指定してブランチを切る
なんやかんや開発する
git commit -a #developブランチ上でコミット
git branch #ブランチの一覧を表示して、今自分がいるブランチ名を表示
git branch -a #リモートも含むブランチの一覧を表示
バグもなさそうだし、安定版のmasterにマージする
git checkout master #masterブランチに移動
git merge develop #developブランチで作業した内容をmasterにマージ
git merge --no-ff develop #記事で紹介されてたけどdevelop上でやった作業内容もちゃんと履歴として残してくれる
良く使うのはバージョン番号をスタンプする
git tag #tag全部を見る
git tag v0.0.0 #v0.0.0でタグを置く
バージョン番号はなんでも良いと思う
versionX.X.X
releaseX.X
数字以外の部分は正直どうでも良いと思う
けど、リポジトリを外に公開したり、マイルストーンを置いて開発するときは
メジャーバージョン番号 マイナーバージョン番号 バグフィックス
とそれぞれ振っておくと外の人はわかりやすいと思う
だけではなくて、例えばこのリポジトリをcloneして
git show fb8dd93
と
git show v0.1.1
を叩くとおそらく同じ結果が返るはず。
つまりfb8dd93というハッシュに対してv0.1.1というエイリアスを張ってると考えても多分いい
「なんだただのエイリアスか」
ではなくてどこかのサーバにv0.1.1のときの状態をデプロイしたいときに、このタグが使える
git clone git://github.com/asonas/for-jigsaw.git
git tag #v0.0.1のタグがあることを確認する
git tag -l #なかったら-lオプションで引っ張ってくる
git checkout v0.1.1 #これでv0.1.1の状態で展開できた
それ以外でもたとえばv0.2.0でデプロイしちゃったけど盛大にバグがあってサービスがとまっちゃった!ってときにも
git checkout v0.1.1
と叩けば昔の状態に戻れる
Githubを使ってると、とにかくブランチを沢山きったり(切りすぎても微妙だけど)、タグをスタンプしまくるのが楽しい
NetworkのGraphを見てみるとわかるけど、自分の作業履歴をTree上に表示してくれる!
adminからコラボレータを登録して複数人で開発するときでももちろんこのGraphは作業人分だけ反映してくれる。
いろいろかくことはあるけど、
git branchgit checkoutgit tag
を理解できたら相当楽しいし、すでに動いてるサービスのこと気にしないで気楽に開発ができると思う
是非ともIssueなりpull requestとか送ると良いと思う!あなたがGithub-erなら!