githubを使っての開発(2) -masterブランチにマージ-

公開日: : 最終更新日:2014/04/19 github, IT, 開発環境


前エントリーでgithub-flowをもとにした流れを書いたのですが、その中のマージについてもう少し細かく書いてみます。

 github-flowでの開発

githubを使っての開発(1) -実践github-flow- | PPl@ce

 マージの流れ

PullRequestをなげて、レビュー&修正が終わった後は、担当者がマージをします。

github-flowを元にある程度の人数で開発をしているとブランチが複数できます。
そうすると、単純にマージするのが出来ないことは多々あります。

そこで以下の様な流れでmasterブランチにマージします。
(1) githubのNetworkを確認
(2) PullRequestから、マージできる状態であれば、githubから1クリックでマージ
(3) ローカル環境でマージしてから、再度pushして、(2)の状態にしてマージ

 (1) githubのNetworkを確認

マージしようとしているブランチが、どのブランチから出来ているかなどを見るために、まずNetworkを確認します。

Networkを見て、

  • どの順番でマージするか
  • どのブランチをローカルでマージするか

など、効率的な方法を(とりあえず)考えます。

 (2) githubでマージ

github上でブランチがmasterブランチにマージできる状態の場合は以下のように表示されます。
このボタンを押下して、ブランチをマージします。
スクリーンショット 2013-04-27 11.46.12
※マージができない場合は上記の状態ではなく灰色の状態でボタン押下できません。

マージしたら、Networkを見て現在の状況などを確認します。

 (3) ローカル環境でマージ

githubからマージできないものに関しては、ローカル環境でマージします。
対象ブランチにmasterブランチから最新のソースをマージします。

(1) 対象ブランチ

 git checkout branch-name

まず、ローカル環境で対象ブランチを選択しときます。

(2) masterブランチからデータを取得

 git fetch

git pullではなく、まずmasterブランチからデータを取得するfetchをおこないます。

(3) ローカルブランチにマージ

 git merge origin/master

そして、ローカル環境で対象ブランチにmasterブランチのデータをマージします。
このコマンド後に、コミットログの入力画面になります。

マージが完了したら、念のためgit logでログを確認しときます。

 git log

(4) githubにpush

 git push origin branch-name

マージが終わったら、githubにpushします。

(5) githubでマージ
これで、githubからマージできる状態になっているはずなので、githubからマージします。
Networkを見れば、対象ブランチに一旦masterブランチから矢印がきて、最終的にmasterブランチに矢印がいっている状態になるかと思います。

 最後に

マージ処理をしたブランチに関しては、必要ないのであればPullRequestsの[closed]を選択して、対象のPullRequestからブランチを削除します。
スクリーンショット 2013-04-27 13.45.40

ブランチが増えすぎると、ローカル環境でやる行為が増えます。
適宜、完成したのはmasterブランチにマージするのが良いですね。

広告

関連記事

no image

Selenium2.0でUIテスト(2) -Rubyでやってみよう-

前回は、Selenium + PHPを試しました。 今後はRubyでやってみようということでSele

記事を読む

no image

iPhoneアプリ開発 -UIButtonのTouch Down、Touch up Inside、Touch up Outsideの使い方-

* Touch DownとTouch up Inside、Touch up Outsideの違い

記事を読む

no image

Facebookがちょっとコワイ vol.2 -本当にあなたはあなたなの?-

以下のブログを読んで、さらにコワイと思ったFacebook。 あなたが登録している「友

記事を読む

no image

iPhoneアプリ開発 芳名帳アプリ作成(6) -写真に保存-

* 今までの流れ - -[http://pplace.jp/2013/06/1531/:title=

記事を読む

no image

FacebookページをFacebookアプリで表示 -iPhoneアプリ編-

* やりたいこと Facebookアプリを入れている人には、アプリでFacebookページで表示。

記事を読む

no image

iPhoneアプリを開発してての疑問 -教えてエライ人!-

MacでiPhoneアプリを開発してて疑問に思ったのの解決してないことを列挙。 知識不足をさらけ出し

記事を読む

no image

iPhoneアプリ開発 −フォントの変更−

一言:最近、iPhoneアプリの開発のためMacばかり触ってて、Windowsに戻ると混乱します。

記事を読む

no image

Jenkins+Capistranoを設定した時にしたこと -「ポート変更」「公開鍵認証」対応-

* 前段階 上記にあるように、Jenkins+Capistranoの設定をしています。 ただし、設

記事を読む

Jenkins + iPhoneアプリ(1) -執事を雇う-

アプリ開発をしていると、自動化出来るところは自動化したくなってきますよね。 開発しているアプリも増え

記事を読む

no image

iPhoneアプリ開発 −遷移先のViewControllerに値を引き継ぎたい−

例えば、トップページに複数個のボタンがあって、「A」と「B」というボタンを押下した際に、同じView

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑