【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

コメント

このブログの人気の投稿

証券外務員1種勉強(計算式暗記用メモ)

GASでGoogleDriveのサブフォルダとファイル一覧を出力する

マクロ経済学(IS-LM分析)