<目次>
GitHubのcommitやpushをバッチ処理化する方法
目的と概要
処理の流れ
サンプルプログラム
サンプルプログラム(実行例)
GitHubのcommitやpushをバッチ処理化する方法
目的と概要
GitHubの各種操作をバッチ処理化して、ワンタッチで行う方法をご紹介します。
内容的には、下記記事で紹介している手順をバッチ処理化しています。
⇒(参考)GitHubの使い方を役割別(開発者、レビュー者)にご紹介
(図100)

(主な自動化対象処理)
・git clone
・git checkout
・git add
・git commit
・git push
(前提事項)
・GitHubにリポジトリが作成済み
処理の流れ
●STEP1:変数の値を設定
・時刻をYYYYMMDDHHMMSS形式で取得
・コミットメッセージの変数をセット
・GitリポジトリのクローンURLをセット
・カレントディレクトリをセット
↓
●STEP2:モードによる分岐
引数「1」を与えて実行するとCLONE_CHECKOUTの分岐に流れ、引数「2」を与えて実行するとCOMMIT_PUSHの分岐に流れる。
↓
●STEP3:モード1の場合、チェックアウトとブランチ作成を実施
・git clone
・git checkout
↓
●STEP4:モード2の場合、コミットとプッシュを実施
・git add
・git commit
・git push
(図121)

>目次にもどる
サンプルプログラム
(サンプルプログラム)
@echo off REM #### STEP1:変数の値を設定 #### REM 時刻をYYYYMMDDHHMMSS形式で取得し、コミットメッセージに付加 set YYYYMMDDHHMMSS=%DATE:~0,4%/%DATE:~5,2%/%DATE:~8,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2% set COMMIT_COMMENT=日時:%YYYYMMDDHHMMSS% REM コミットメッセージを追記 set COMMIT_COMMENT=%COMMIT_COMMENT% XXXXの案件でXXXXのXXXX箇所を修正 REM GitリポジトリのクローンURLを指定 REM GIT_REPOSITORY=[ご自身のリポジトリのクローンURL] set GIT_REPOSITORY=https://github.com/Tatsuya-Yazaki/hello-world.git REM 現在ディレクトリ+リポジトリ名。クローン後に生成されるリポジトリのフォルダに移動 REM DIRECTORY=%CD%\[ご自身のリポジトリ名] set DIRECTORY=%CD%\hello-world REM Branch名を指定(ダブルクォート等は不要&日本語OK) REM GIT_BRANCH_NAME=XXXXX set GIT_BRANCH_NAME=Testブランチ2 REM #### STEP2:モードによる分岐 #### REM "%1":最初の引数を取得 REM "%~1":上記からダブルクォートを除外する REM 第1引数で「1」が与えられている場合 REM ⇒リポジトリのクローンとチェックアウトを実施 if "%~1"=="1" goto CLONE_CHECKOUT REM 第2引数で「2」が与えられている場合 REM ⇒リポジトリへのコミットとプッシュを実施 if "%~1"=="2" goto COMMIT_PUSH goto EXIT REM #### STEP3:モード1の場合、チェックアウトとブランチ作成を実施 #### :CLONE_CHECKOUT git clone "%GIT_REPOSITORY%" cd "%DIRECTORY%" git checkout -b "%GIT_BRANCH_NAME%" REM #### STEP4:モード2の場合、コミットとプッシュを実施 #### :COMMIT_PUSH REM 第2引数でユーザー名を受取り、コミットコメントに付与 REM set USER_NAME=%2 REM set COMMIT_COMMENT=%COMMIT_COMMENT% 更新者: %USER_NAME% git add -A git commit -am "%COMMIT_COMMENT%" git push "%GIT_REPOSITORY%" :EXIT pause
(図131)

>目次にもどる
サンプルプログラム(実行例)
・①実行前の初期状態
(図141)

↓
・②任意のフォルダに移動し、引数「1」でバッチ実行(git clone, git checkout)
> git_clone_branch.bat 1
(図142)

↓
・③リモートリポジトリがローカルにクローンされます。
(図143)

↓
・④クローンしたリポジトリを編集
(図144)

↓
・⑤クローンしたリポジトリのフォルダ内(.gitの階層)に移動し、引数「2」でバッチ実行(git add, git commit, git push)
> ../git_clone_branch.bat 2
(図145)

↓
・⑥結果確認。リポジトリに正常にプッシュされている事を確認
(図146)

>目次にもどる