はじめに
gitをコマンドで扱う人向けの記事です。
だいたいコマンドを使い始めて一ヶ月くらいたつと打つのが、かったるくなってきます。。。
例
git commit
git checkout -b
git stash apply
ながくないですか。。?
で、今回の記事は、これを
g ci
g chb
g ssap
に短縮して楽しましょうという方法です。
gitconfig
すぐコピペで使えるように最初に上げておきます。
gitconfig は mac では デフォルトでは~/.gitconfig
にあります。
このファイルを編集して、保存すれば設定が反映されます。無ければ作成しましょう。
何でgit commit
がg 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 checkout
が git chb
で打つことができます。
さらに~/.bashrc
に alias 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
-
stash
とstash 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