Sourcetreeを使っての開発フロー(前半) ~作業用ブランチ作成から削除まで~

2018/10/12

Laravelの開発ではGitを利用するのが一般的です。

実際にLaravelプロジェクトを作成すると.gitignoreも生成されます。

当サイトでは直感的にGitが理解できるようにSourceTreeの使い方についていくつかエントリーしました。

今回は実際にGitでLaravelの開発をして本番サーバにデプロイしてみます。

まずは前半としてブランチの作成からプルリク、そしてブランチの削除までのフローをやってみます。

後半はリモートリポジトリを本番サーバにデプロイする作業を行います。

 

必要なスキル

ブランチについて(作業ブランチ・追跡ブランチ・リモートブランチ)

プルリクエストについて

 

チュートリアル:ブランチの新規作成から削除まで

東京オリンピックまでのカウントダウンプログラムを作成します。

カウントダウン用の作業用ブランチを切って開発を行い、リモート用ブランチにプッシュします。

プルリクエストでリモートにあるmasterブランチにマージします。

無事、masterブランチにマージしたらブランチを削除。

最後にmasterブランチチェックアウトしてプルを実行してチュートリアル完了です。

 

シナリオ

【1】master作業用ブランチにチェックアウトしてプル

【2】作業用ブランチ作成

【3】作業の区切りごとにコミット

【4】作業終了したらリモートブランチにプッシュ

【5】プルリクエスト(マスターにマージ)

【6】作業終了したブランチを削除

【7】masterブランチにチェックアウトしてプルを実行

 

【1】master作業用ブランチにチェックアウトしてプル

masterのリモートとローカルの間に差分がないように、まず最初にプルを実行しておきます。

初めての場合はリモートリポジトリを作成してクローンを実行します。

 

【2】作業用ブランチ作成

作業用ブランチをmasterブランチから作成します。

作業用ブランチ名:「dev/countdown」

 

【3】作業の区切りごとにコミット

サンプルで東京オリンピックまでのカウントダウンプログラムを作成します。

 
Router

Route::get('count/olympic', 'CountController@olympic');

 
Controller

artisanコマンドでコントローラのスケルトンを生成します。

生成したら中身を記述します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;

class CountController extends Controller
{
  //countdown tokyo olympic
  function olympic(){
    $end_day = strtotime( '20200724' ) ;
    $int = $end_day - time();
    $after_day = ceil($int / (24 * 60 * 60));
    return view('count.olympic')->with('after_day',$after_day);
    }
  }
}

 
View

今回はテキストだけで簡易的に作成します。

東京オリンピックまであと{{$after_day}}日です。

 

【4】作業終了したらリモートブランチにプッシュ

メニューの「プッシュ」をクリック。

「dev/countdown」の追跡ブランチとリモートブランチを作成します。

「プッシュ」をクリックして作業用ブランチから追跡へマージしそのままリモートにプッシュされます。

 

【5】プルリクエスト(マスターにマージ)

BitBucketのサイトにアクセスしてプルリクエストで「dev/countdown」ブランチをmasterブランチへマージ。

 

【6】ブランチを削除

masterブランチにチェックアウトして「dev/countdown」ブランチを削除します。

メニューの「プッシュ」をクリック -> 「プッシュ」ダイアログが開くので「ブランチを削除」のタブをクリック

ローカル(作業用)とリモートともに削除します。

 

【7】masterブランチにチェックアウトしてプルを実行

ローカルも最新データにします。

masterブランチにいることを確認して「プル」を実行。

これでリモートリポジトリに開発データのプッシュ作業が完了しました。

チュートリアル前半は終了です。

後半はリモートリポジトリから本番サーバへデプロイの作業を行います。

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-チュートリアル