Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

WindowsのGit Bashでadd/commit/pushを自動化するコマンドを作る

要約

  • ローカルでないフォルダでGit Bashを使うと死ぬほど遅い。
  • C\Program Filesの下にGit Bashで使う.bashrcがある。
  • そこにadd/commit/pushを自動化するgishコマンドを作った。

Git Bashの.bashrc上で新たに関数を作る。

.bashrcの場所

起動時に実行される.bashrcはMacやLinuxであれば大体home直下がデフォルトですが,
Windows10では C:\Program Files\Git\etc\bash.bashrcというところに存在します。

作成したgishコマンド

ここの記述を参考に作りました。

  • 引数はgish "コミットメッセージ" [何らかの文字]です。
  • 引数が1つならエラーを返し,2つならコミットメッセージでcommit,3つあればpushまで行います。
# gish "コミットメッセージ" "何某かの文を入れるとPush"
gish(){
git add -A;

#引数の数に応じて分岐
if [ $# = 0 ]; then # Error
echo "Please add comment!"
elif [ $# = 1 ]; then # Commitだけ
msg=$1
git commit -m "$msg";
elif [ $# = 2 ]; then # Pushもする
msg=$1
git commit -m "$msg";
CULLENT_BRANCH=`git rev-parse --abbrev-ref HEAD`;
git push origin ${CULLENT_BRANCH};
fi
}

なお,Programfilesの中なので管理者権限が必要です。Gitのbashrcを書き換えるのはなんとなく気持ち悪いですが,別途Homeにbashrcを作ってProgramFiles側から実行させる。という手法もあることはあります。

結局どれがいいのか?

わかりません。教えて下さい…

この手の効率化はエイリアスやシェルや関数化など皆さんいろいろやってくれていますが,Git Bashでbashrcを書き換えている人はパット見いなかった&自分で使って悪い気はしなかったので投稿しました。

他にも
- zshで実装した方

などの記事を眺めたりしました。

ossyaritoori
電機・ロボット・制御・画像その他
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away