LoginSignup
2
2

More than 1 year has passed since last update.

シェルの機能を使用してGitで現在のブランチと同名のブランチにプッシュ/プルする(シェル)

Last updated at Posted at 2016-01-17

追記

こんなシェル芸しなくても

git push origin HEAD

でいけます。なんなら

git push -u origin HEAD

すれば次回からはgit pushで済みます。

コマンド

Bash/tcsh
git push origin `git branch | fgrep '* ' | tr -d '* '`
git pull origin `git branch | fgrep '* ' | tr -d '* '`

``内は何をやっているのか

まず、git branchでブランチの一覧を取り出します。出力の形式は次のようになります。

  他のブランチ1
  他のブランチ2
    ・
    ・
    ・
  他のブランチk-1
* 現在のブランチ
  他のブランチk+1
    ・
    ・
    ・
  他のブランチn

現在のブランチのところにだけ「*」がついています。そこでfgrepの出番です。これはgit branchの出力から「*」がある行だけを残して次のtrに渡します。最後のtrは、余分な「*」を削除する働きをします。``は内部のコマンドの出力を全体のコマンドの一部の文字列として挿入するものなので、それぞれ

Bash/tcsh
git push origin (現在のブランチ)
git pull origin (現在のブランチ)

に置き換わります。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2