【DOSのバッチ】GitからCloneしてきてCommit後にPushする
ちょっと必要になったのでサクッと準備してみた。
シュチュエーションとしてはCSVファイルとか設定ファイルだけ外部管理してたんだけどそれをGit管理に切り替えたんだが、コマンド打つの面倒なので、カレントフォルダで作業できるようにするためです。毎回手で打てばいいんですけどね・・・
前提条件としてWindows側にGitの設定ができていることが必要っす。
BATファイルはUTF-8でCRLFで保存してください。
@echo off chcp 65001 set WORK_DIR=%~dp0 echo ***** start ***** rem "### 対象リポジトリ取得" set /p RELEASE_VERSION=Input Git target version: IF %RELEASE_VERSION%==dev ( echo *** cloning dev ***** git clone https://github.com/XXXX ) else ( echo *** cloning release/v%RELEASE_VERSION% ***** git clone -b release/v%RELEASE_VERSION% https://github.com/XXXX ) rem "### ブランチ準備" set /p BRANCH_NO=Input branch name: set BRANCH_NAME=feature/%ISSUE_NO% echo ***** make branch feacure/%BRANCH_NO% ***** cd %WORK_DIR%XXXX git checkout -b %BRANCH_NAME% echo ***** branch create done ***** git branch rem "### 対象ファイルコピー後にCommitする :filecopy set /p TARGET_ANSWER="対象ファイルのコピーは完了しましたか? (Y/N)?" if /i {%TARGET_ANSWER%}=={y} (goto :filecopy_yes) if /i {%TARGET_ANSWER%}=={yes} (goto :filecopy_yes) goto :end :filecopy_yes git add config\ set /p COMMIT_MESSAGE=Please CommitComent: git commit -am "%COMMIT_MESSAGE%" rem "### リモートリポジトリにPushする :push set /p PUSH_ANSWER="リモートリポジトリにPushしますか? (Y/N)?" if /i {%PUSH_ANSWER%}=={y} (goto :push_yes) if /i {%PUSH_ANSWER%}=={yes} (goto :push_yes) goto :end :push_yes git push origin %BRANCH_NAME% pause
コメント