Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

wootan
loco-partners-inc
宿泊予約サービス「Relux」(https://rlx.jp)を運営する企業です。
http://loco-partners.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした