Gitを使おう その3 git-flowでブランチの使い方が簡単に!

powered by hm solution

お問い合わせ:0120-290-727
受付時間:10:00~18:00(土日祝は除く)

お問い合わせ

Gitを使おう その3 git-flowでブランチの使い方が簡単に!

gitとgit-flowでめんどくさい管理をツールにおまかせ

git-flowって何?

git-flowとは、gitのブランチを使うときのルールをまとめたものです。
gitはブランチを自由に作れるのが特徴の1つですが、複数人で制作を行っている場合、各人が好きなようにブランチを作っているとどこに何が入っているのかブランチ作成した本人しかわからない状態になり、gitを使っているのに管理に手間がかかってしまうという本末転倒な状態になってしまうことがあります。

そこで、ブランチ作成やマージに一定のルールを設けて誰が見てもわかる状態にしようというのがgit-flowというルールです。
git-flow自体は単なるルール集なので、別途公式のツールがあるというわけではありません。が、前回までの説明で使用していたgitツールのSourceTreeでは、git-flowのルールに従ったブランチ/マージ機能がありますのでこちらを使用しましょう。
git-flowのルールに従ってgitを使えれば、

  • 本番リリースしたデータと、制作中のデータの区別が明確にできる
  • 何をいつ、どんな内容でリリースしたかを後から追跡できる
  • 編集内容毎にブランチを作成できるので、本番反映時期が違う内容でも平行して作業できる
  • 「本番にあるリソースが最新です」という状態から解放される
  • リリースした内容に不備があって緊急修正しても、制作中データに統合できるので先祖がえりが起きない

といったメリットがあります。ぜひ使ってみましょう。

git-flowの準備

gitflow_start

まずは初期化をしましょう。git-flowを適用したいリポジトリを選んだ状態で、git-flowのボタンを押します。ブランチ作成画面になりますので、このままOKを押して作成しましょう。
標準で作成されるブランチは「master」と「develop」でそれぞれの使用用途は下記の通りとなります。

master

本番に反映するファイル。基本的にこのブランチのファイルは直接さわったりコミットしない

develop

制作、変更中のファイル。このブランチでファイルの編集、コミットを行う

developで作業を行い、本番リリース準備をする

ブランチをdevelopに切り替え、いくつかファイルを更新、コミットしてみましょう。その後、先ほどのgit-flowボタンを押すと操作を選択するダイアログがでます。
ここで、「start new release」を選択し、リリース前の準備をします。ブランチ名を入力しますがなんでもOKです。何のためのリリースなのかわかりやすい名前をつけておくと、後々確認するときに楽です。

gitflow_newrelease

リリースブランチでの作業内容

この段階で想定している作業は、本番反映前に反映日を記載するなど細かい修正です。修正するものがなければ何もコミットしなくてOKです。

リリース完了操作

この状態で確認がとれたら、本番にアップしましょう。本番反映が確認できたら、git-flowのボタンメニューより「finish release」を選びます。これでreleaseブランチの内容がmasterに統合されます。
tagを入力する画面になります。tagは人が何のためのマージかを確認するためのものなので、不要であれば未記入でOKです。

gitflow_finishrelease

これで完了です。

現在の編集内容とは別管理で作業をしたい

開始期間が決まっているイベントページなど、本番反映はまだ先だけど今編集中のものとは分けて作業をしたいという場合、「feature」ブランチを使用します。
git-flowのボタンから「start new feature」を選ぶと、developから派生したブランチを作成し、別管理となります。完了してdevelopに統合したい場合は、「finish feature」を選びます。

本番のページに間違いを見つけた。これだけを修正したい

次回更新作業を進めているときに、本番環境に反映しているファイルに誤りがあった場合、developを編集して反映ではいつどれを反映したかの管理が難しくなります。
この場合、git-flowのボタンから「start new hotfix」を選びましょう。hotfixの場合は、masterの最新版(本番と同じ)からブランチが作成されます。
該当の部分が終わったら、「finish hotfix」を選択すると、masterとdevelop両方に統合されます。これでいったん修正したものが先祖帰りしたなんてトラブルともさようならです。

まとめ

git等のバージョン管理ツールを使う事で、制作データの管理の手間が軽減され、またミスも防ぐことができるのでそれらに費やしていた集中力や時間を制作に回すことができます。
バージョン管理ツールを使って、楽をしましょう!

powered by hm solution
お問い合わせ
お問い合わせ
gmt
© hm solution, Ltd.