Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

GitHub

GitHubのcommitやpushをバッチ処理化する方法

投稿日:2022年12月20日 更新日:

<目次>

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)


目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-GitHub
-

執筆者:


comment

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

関連記事

GitHubでPush後にコミットメッセージを変更したい

  <目次> (1) GitHubでPush後にコミットメッセージを変更したい  (1-1) やりたいこと①:リモートリポジトリにPush後にコミットメッセージを変更したい  (1-2) や …

Gitでブランチ間の差分を確認してマージ(差分を取り込み)する方法

  <目次> Gitでブランチ間の差分を確認してマージ(差分を取り込み)する方法  やりたいこと/背景  STEP1:ローカル環境のmainブランチが最新か?を確認  STEP2:遅れている …

GitHubにEclipseの既存プロジェクトを登録(コミット+プッシュ)する手順

  <目次> (1) GitHubにEclipseの既存プロジェクトを登録(コミット+プッシュ)する手順  (1-1) STEP0:前提条件  (1-2) STEP1:Javaプロジェクトを …

GitHubのWebAPIをコールしてユーザー情報を取得するサンプルプログラムの解説+エラー対応も2例紹介

(0)目次&概説 (1) 目的  (1-1) 記事の目的 (2) APIの概要  (2-1) APIとは?  (2-2) Web APIとは?  (2-3) Web APIの様々な呼び方   (2-3 …

GitHubで「remote: Permission to XXXX denied to XXXX.」エラーが出る原因と対処

  <目次> (1) GitHubで「remote: Permission to XXXX denied to XXXX.」エラーが出る原因と対処  (1-1) エラー事象1:Support …

  • English (United States)
  • 日本語
Top