最近、社内の人からgit push
の便利なコマンドを教えてもらいました。
git push origin `git rev-parse --abbrev-ref HEAD`
これは現在のブランチのリモートへcommitをpushするコマンドです。
わざわざブランチ名を入力する手間が省けるので大変便利です。
私はgit pu
とaliasを設定して使っていました。
しかしある時、現在いるブランチを間違って認識していて、そのまま開発を進めてしまいったことがあり
間違ったブランチにpushしてしまうという過ちを犯してしまいました...(あぶない)
ということで、pushする前に確認してくれるシェルスクリプトを作成してみました。
作ったもの
- コマンドを入力するとpushするブランチ(カレントブランチ)を出力
-
y
orY
を入力すればpushされ、それ以外の入力はキャンセル
実際に調べながら作成したのでもっといい方法があったらアドバイスいただければと思います。
~/.bashrc
# git push & branch 確認
gitpu(){
branch=`git rev-parse --abbrev-ref HEAD`
if [ -z $branch ]; then
return
fi
echo "push: $branch"
read input
# キャンセル
if [ -z $input ]; then
return
fi
if [ $input = 'y' ] || [ $input = 'Y' ]; then
git push origin `git rev-parse --abbrev-ref HEAD`
else
return
fi
}
Ariel:bash gatapon$ gitpu
push: gt.test // current branchが出力される
y // `y` or `Y`を入力すればpushされる
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:rinonkia/bash_test.git
bd724d2..706b2d2 gt.test -> gt.test
これで快適な開発ライフを送っていきたいと思います。