🍣
branchを指定せずpushできるコマンドを作ろう
皆さんこんにちは。
git使ってますか?
おそらくエンジニアであればほとんどの方が使っていると思います。
そんなわけで今回はpush時にbranch名を指定しなくてすむようなコマンドを作っていきたいと思います。
環境
私の環境は以下のようになっています
- OS
- manjaro Linux
- shell
- fish
普段のpush
普段のpushは以下のような手順を踏んでいます。
$ git add ファイル名
$ git commit -m "コミットメッセージ"
$ git push -u origin ブランチ名
ではブランチを指定せずpushしてみましょう
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstrem, use
git push --set-upstream origin develop
:cry:
このようなエラーが吐かれてしまいます。
でも毎回branchを指定するのは大変(当社比)。
というわけでコマンドを作りましょう。
実装
以下の関数を~/.config/fish/config.fish
に追記します。
function dopush
set _nowBranch (git branch | grep '*' | awk '{print $2}')
git push -u origin $_nowBranch
end
fishの場合はこのように関数を作ってあげるだけでdopush
というコマンドが使えるようになります(便利)
bashの場合は以下のようになります。
function dopush() {
_BRANCH=`git branch | grep '*' | awk '{print $2}'`
git push -u origin $_BRANCH
}
これでdopush
というコマンドでpushができるようになりました!やったね!!
最後に
私はshell scriptに疎いので「ここのコード、こうしたほうがいいよ!」、「これだめじゃね?」といったご指摘があればどんどんいただけるとありがたいです。
ここまで読んでくださってありがとうございました。
追記 2020-09-23
vim-jpのSlackで教えていただいたのですが、なんとgitconfigに
[push]
default = current
を追記するだけでbranchを指定せずに済むようです!
Discussion