tl;dr
.gitconfig
にもaliasの登録ができる[alias]
ブロックにaliasを登録する
tags
で単数・複数の悩みを解消するdiscard
で変更を取り消すunstage
でaddを取り消すuncommit
でcommitを取り消すignore
で.gitignore
を生成する
git aliases
この記事は今すぐalias登録すべきワンライナー by ゆめみ① Advent Calendar 2018
の6日目の穴埋め記事です。
こちらのアドベントカレンダーは今すぐalias登録べきワンライナーということで、みなさん.bashrc
や.zshrc
のaliasについて記事を書いてらっしゃいますが、実は.gitconfig
という、git
コマンドの設定を書いておくファイルにもaliasの指定ができます。
誰もshellのaliasとは言ってない!(・・・はず)ので、いくつか.gitconfig
用に便利なaliasを紹介していきましょう
aliasの登録方法
.gitconfig
は基本的にiniファイルです。そのため、次のように登録します。
|
|
簡単ですね? [alias]
というブロックを作成し、alias名=コマンドの形で記述します。
このときコマンドはgit xxx
の形で実行される、xxx
の部分のみを指定します。
例えば、
|
|
と指定すると実際の実行時にはgit git status
という形で実行されてしまいエラーになるので注意しましょう。
git
のつかないコマンドを実行したい場合は頭に!
をつけます。
|
|
このように記載すると、git ls
でls
が実行されます。
git tags
git tag
というコマンドがありまして。まぁみなさんご存知でしょうが、tagの一覧を出したり、新しいtagを作ったりするコマンドです。これ単体では特に問題がないのですが、リモートリポジトリと合わせて使うと、ちょっと悩みが発生します。
git tag
コマンドでタグをつけた後、リモートリポジトリにpushするときのコマンドはgit push --tags
です。これはtagをまとめてpushするので、複数形なんでしょう。しかしです。tagの一覧を出すときに使うのもgit tag
と単数形なんですね。
ついついgit tags
と打ってしまいませんか?
そんなあなたはこんなaliasを登録しておきましょう
|
|
地味ですが、これで単数形か複数形か悩まずに済みます。
git discard
ファイルを変更して、「あ、やっぱやーめた」、とそんなこと、ありませんか?そんなときにmagit
を使っていればM-x magit-statusからのk、で一発ですが、さてコマンドでやるにはどうしたらいいんでしょうか?
git reset
?git checkout
?なんにせよ少し悩んで場合によってはGoogle先生にお聞きする必要がありそうです。
そんなときに便利なのが次のalias。
|
|
正解はgit checkout
ですが、もっとわかりやすく、git discard
とすれば悩む必要もないですね。
git unstage
普段はなにかしらのクライアントからgit
を操作しているあなた。一度git add
したファイルをaddしていない状態に戻すコマンドをすぐに答えられますか?私はすぐには答えられません。確実にGoogleで検索
する自信があります。
そこで、こんなaliasを登録しておきます。
|
|
これで間違ってaddしたファイルもgit unstage hogehoge
と一発です。
git uncommit
さて、編集しただけだったり、addしただけならそんなに難しいことはありませんが、一旦commitした後はどうでしょうか。ヒントはreset
を使うということですが、どのように指定をしたら良いかわかりますか?
--mixed
オプションを使う、が答えです。とはいえ、こんなのすぐには思い出せません。やりたいことはcommitを取り消したい、ですから。
こんなaliasが便利でしょう。
|
|
git uncommit
。うん、わかりやすくなりました。
git ignore
最後はこれです。前にも一度紹介しましたが
、みなさんは.gitignore
をどのように作成していますか?
色々と方法はあると思いますが、私はgitignore.io
が好きです。
しかし毎回ブラウザでアクセスしたり、URLをタイプするのは面倒です。
私は次のように設定しています。
|
|
これで、git ignore
コマンドが使えるようになり、git ignore macos > .gitignore
の形で簡単に.gitignore
のテンプレートを作れるようになりました。
なお、普段私が使っている.gitconfig
はGitHubで
公開しています。