こんにちは、ひがしです。
今回は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件のコメント