こんにちは、ひがしです。
今回はGitHubにcommitをpushする際にbranchを指定しないでもpushできるようなコマンドを作りたいと思います。

環境

今回の環境は以下のようになります。

  • OS
    • manjaro
  • shell
    • fish

普通にGitHubにpushする場合

普通にGitHubにcommitをpushする際は以下のような手順になります。
これはmasterにpush場合です。

$ git add hoge.go

$ git commit -m "Add hogehogefugafuga"

$ git push -u origin master

このようにpushする際はorigin masterなどとbranchを指定しないといけません。
これは少しめんどくさいということでここを自動でやってくれるようにしましょう

作る

使うコマンド

今回は以下のコマンドを使って実装していきます。
なお、それぞれのコマンドの説明は省略するので適宜ググってください。

  • git branch
  • awk
  • grep

できた

以下のようなコマンドができました

一行ずつ解説を行うと

#!/bin/sh はおまじないです。おまじないおまじない。

_BRANCH=$(git branch | grep '*' | awk '{print $2}') では現在のbranch名を _BRANCH という変数に格納しています。
詳しく説明するとgit branchを行うと以下のようにbranchが表示されます。

* hoge
  master
  fuga

この際の* がついているbranchが現在いるbranchです。
それをgrep '*' で検出し、
その中からbranch名を awk '{print $2}' で取り出しています。

まとめ

こちらのコマンドを dopush という名前でpathを通したディレクトリに配置し、chmod a+x dopush で権限を与えてあげれば完了です。

これでdopushコマンドを実行するだけでbranch名などを指定せずに現在いるbranchにpushできます。最高!

カテゴリー: 未分類

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です