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

Twitterでプロテクトをかけているユーザが投稿したステータスを取得する方法

* 前提 ID Twitterの各投稿にはIDが存在していています。 そのIDを元にステータス

記事を読む

no image

PHP_CodeSniffer+ Eclipse + PHP Code Formatter Pluginでコーディング規約を守ったコーディング

1人でプログラミングをしているにしても、多人数でプログラミングをしているにしても、コーディング規約を

記事を読む

no image

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

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

記事を読む

no image

iPhoneアプリ開発 −2本指で画像を移動させる−

* やりたいこと 表示させている画像(UIImageView)を2本指で移動させたい。 ※1本指は別

記事を読む

no image

CakePHP1.3でテストコード(3) -ENUM型が使えない-

cakePHP1.3でのSimpleTestを使ったテストケースの第3回目。 今回は、テーブル構成で

記事を読む

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

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て100万DL超えしました!))し

記事を読む

iPhoneアプリ開発 芳名帳アプリ作成(2) -記帳画面作成-

* 今までの流れ - * 画面構成 今回の芳名帳アプリは以下の画面で構成しています。 -

記事を読む

no image

CAPTCHAの導入方法 -KCAPTCHAの導入-

CakePHP(1.2、1.3)にKCAPTCHAを導入してみたのでメモ。 * CAPTCHA

記事を読む

Selenium2.0でUIテスト(1) -まずはPHPでやってみる-

久しぶりにSeleniumを触ってみました。 Selenium2.0から色々と変わったみたいで少々

記事を読む

Jenkins + DeployGate(2) -DeployGateにアプリをアップ!-

DeployGateを使ってますか? 継続的にDeployってますか? TestFlightの

記事を読む

広告

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 ↑