2018の10日目の記事です。雰囲気でシェルをやっているクソザコです。pushを打つとこのようなエラーが出ますよね。デフォルトとして扱ってくれます。Gitの言うがままにタイプしていては、リーナス・トーバルズに負けたということになってしまいます。そこで自分はこんな感じにプロンプトを出すようにして今の所満足しています。思ってドキュメントを確認したら本当に書いてあった。なんというか、HEADはローカルのリビジョンを指すときのみに使用できるイメージがあったので、これには驚きだった。こんなふうに書いても動く。HEAD:HEADちなみにちなみにHEADの内容をそのまま展開しても動く。refs/heads/master:refs/heads/master...リモートの指定は単にブランチ名だと思っていたので、ちゃんとリビジョン指定が普通にできることが驚き(ドキュメントによるとハッシュ値でなければいけるらしい)。—追記おわり—コンセプトを伝えたいだけの記事なので現場からは以上ですという気持ちなのですが、一応ソースコードも載せておきます。endend↑はFishです。今回ブログを書くにあたって、Bashでも書いてみました。esac}Shellcheckって便利ですね。Bashはほぼ初心者なので、もっとBashらしくなる改善点などなどあればぜひコメントください👰おまけリポジトリを作ったばかりのときはリモートブランチさえ登録していない状態かと思います。hubコマンド等でリポジトリを作る人は同時にリモートブランチを紐づけてあげるスクリプトを書けば良いと思いますが、なぜかhubコマンドを使っていない自分みたいなクソザコなんかはこんな感じで自動的にリモートブランチもサジェストしてあげるようにしています。GitHubのリポジトリ名をパスから取ってきているだけです。git@github.com:$ghuser/$dirnameendを追加です。"git@github.com:$ghuser/$dirname"fiという感じだと思います。サブシェルも一長一短だと感じる今日この頃です(Fishにはサブシェルがありません)1。Calendarの10日目の記事でした。なんかたくさん空いてたしひとつくらい適当に書くかと思って書いて、今見直したら残り枠一つでした。煽っているのではなく、本当にメリット/デメリットが存在しますし、なによりパイプのためにForkするというのはきれいで好きです。