Edited at

まだ長々しいコマンド打ってるの?git編(gitconfig)

More than 1 year has passed since last update.


はじめに

gitをコマンドで扱う人向けの記事です。

だいたいコマンドを使い始めて一ヶ月くらいたつと打つのが、かったるくなってきます。。。



git commit

git checkout -b

git stash apply

ながくないですか。。?

で、今回の記事は、これを

g ci

g chb

g ssap

に短縮して楽しましょうという方法です。


gitconfig

すぐコピペで使えるように最初に上げておきます。

gitconfig は mac では デフォルトでは~/.gitconfigにあります。

このファイルを編集して、保存すれば設定が反映されます。無ければ作成しましょう。

何でgit commitg ciなの?、g cmでしょていう人は、自分好みに変えちゃってくださいまし。

以下のファイルは、こちらにも上がっています。

https://github.com/kou0123/dotfiles


~/.gitconfig

[alias]

#alias
as = !git config --get-regexp alias
#diff
d = diff
d1 = diff HEAD~
d2 = diff HEAD~~
dc = diff --cached
#commit
ci = commit
cia = commit -amend
cimix = commit --amend --no-edit
cim = commit -m
#push
ps = push
#pull
pl = pull
plr = pull --rebase
#reset
re = reset
rehe = reset HEAD
reha = reset --hard
res = reset --soft
#log
l = log
ls = log --stat
lo = log --oneline
#show
sh = show
#stash
ss = stash
ssap = stash apply
sspp = stash pop
ssl = stash list
sssh = stash show
#status 
st = status
#checkout
ch = checkout
chb = checkout -b
#branch
br = branch
#add
ad = add
ada = add .

[mergetool "vscode"]
cmd = code --wait $MERGED
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE



~/.bashrc

alias g='git'



各機能説明


基本編

~/.gitconfigにエイリアスを設定する事によって、git branch checkoutgit chb で打つことができます。

さらに~/.bashrcalias g='git'をかくと、g chbまで短縮することができます。こちらも無ければ作成しましょう。source ~/.bashrcで設定反映させることをお忘れなく。

余談ですが、


~/.bashrc

alias g='git'

alias re = 'source ~/.bashrc'

こちらも便利ですよ。


alias


  • 自分が設定したエイリアス情報を確認できます。自分の定めたエイリアス何だっけ?がよくあるので。

as = !git config --get-regexp alias


cmd

g as

alias.d diff
alias.d1 diff HEAD~
alias.d2 diff HEAD~~
alias.dc diff --cached



diff


  • addしたファイルのdiffを確認できます。

dc = diff --cached


  • HEADからn番目のコミットとの差分を確認できます。

d1 = diff HEAD~

d2 = diff HEAD~~


commit


  • 直前のcommitに、addしたファイルを混ぜる。これ地味に便利です。

  • commitし忘れたファイルや微修正したファイルに使用してみてください。

cimix = commit --amend --no-edit


log



  • g ls は 編集したファイルを含んだコミット履歴の表示です。


  • g lo は コミットメッセージのみのコミット履歴の表示です。

ls = log --stat

lo = log --oneline


stash



  • stashstash pop or applyはコンビでよく使うので、短縮させています。

ss = stash

sspp = stash pop
ssap = stash apply


add



  • add -A or . もよく使うので、短縮させています。よく使います。

ada = add .


difftool


  • difftoolをvscodeにすることができます。git difftoolで使えます。

  • winmergeをdifftoolにするよりもおすすめです。

[mergetool "vscode"]

cmd = code --wait $MERGED
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE