【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
コメント