LoginSignup
2
8

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-06-09

はじめに

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
2
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
8