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?

作業ブランチにpushする時の入力は面倒だけど、pushするブランチは確認したい

最近、社内の人からgit pushの便利なコマンドを教えてもらいました。

 git push origin `git rev-parse --abbrev-ref HEAD`

これは現在のブランチのリモートへcommitをpushするコマンドです。
わざわざブランチ名を入力する手間が省けるので大変便利です。
私はgit puとaliasを設定して使っていました。

しかしある時、現在いるブランチを間違って認識していて、そのまま開発を進めてしまいったことがあり
間違ったブランチにpushしてしまうという過ちを犯してしまいました...(あぶない)

ということで、pushする前に確認してくれるシェルスクリプトを作成してみました。

作ったもの

  • コマンドを入力するとpushするブランチ(カレントブランチ)を出力
  • y or Yを入力すれば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

これで快適な開発ライフを送っていきたいと思います。

gatapon
マッチングのサーバーサイドやってますん
diverse
結婚支援事業を中心に、友達・恋人探しのマッチング事業を展開。深刻化する恋愛離れ、未婚率の上昇を解決すべくWEB・アプリサービスを展開。すべての人へ出会いのプラットフォームを提供しています。
http://diverse-inc.co.jp/
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