42
48

More than 5 years have passed since last update.

SourcetreeのGit Flowをつかった開発フロー

Last updated at Posted at 2019-03-11

Git運用でGit Flowを採用することにしたので
SourcetreeのGit Flowをつかった開発フローを整理しました。

実現したいこと

  • Gitに慣れていないメンバーでも無理なく運用可能なこと
    • Git, Git Flowの操作はSourcetreeですべて実行
    • ただし、GitおよびGit Flowの概念は理解していることが前提
  • Github上でコードレビューを実施
    • featureからdevelopへのPull Requestをレビュー
    • コードはレビューワーがマージ

SourcetreeにGit Flowが表示されていない場合

  1. ツールバー上で右クリックし、ツールバーのカスタマイズを選択

  2. Git Flowをドラッグ&ドロップしツールバーに追加

開発フロー

リポジトリの初期化

はじめてGit Flowボタンを押すとリポジトリの初期化画面が表示されます。
運用ルールに合わせてカスタマイズすることができます。
基本的にデフォルト設定のままで問題ありません。

機能開発開始

Git Flowボタンを押すと推奨するアクションが表示されます。
開発着手時は「新規フィーチャーを開始」をクリックします。

フィーチャー名を入力してOKを押すとdevelopからfeatureが作成されます。

この場合はfeature/sampleが作成されます。

レビュー

実装が完了したらfeatureをプッシュして、Github上でプルリクエストを作成します。

レビューが完了したらGithub上でマージします。

次のステップで自動的にブランチが削除されるので、ここではブランチを削除する必要はありません。

機能開発終了

Git Flowボタンを押し、現在のブランチを終了ボタンをクリックします。

ブランチを削除を選択した状態でOKをクリックするとローカルとリモートのブランチが自動的に削除されます。

最後にdevelopでソースコードをpullします。
このときに「マージではなくリベースする」にチェックを入れます。

featureの変更内容はすべてdevelopに取り込まれているので、履歴はこのようになります。

リリース

Git Flowボタン押し、新規リリース開始をクリックします。

リリースバージョンを入力し、OKを押すとdevelopからreleaseが作成されます。

リリース作業が完了したらGit Flowボタンを押し、現在のブランチを終了をクリックします。

タグのメッセージを入力とブランチのプレビューの確認します。

問題ないことを確認してOKを押すとrelease は master, develop の両方にマージされます。
featureのときと同様にGithub上でマージとすることも可能です。

まとめ

  • Sourcetreeを使用することで、git, git-flowのコマンドを知らなくてもGit Flowで開発をおこなうことができます。
  • Github上でのコードレビューも問題なくおこなうことができます。
  • ローカル/リモートのブランチの削除、タグの追加がgit-flowでされるので、オペレーションミスが少なくなります。

参考記事

A successful Git branching model

42
48
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
48