カテゴリ :
Gitを使い始めたらやっておきたい便利な設定いろいろ
こんにちは、中川です。
Gitを使い始めてから、Subversionを使う機会がめっきり減ったこの頃です。
Gitだとローカルだけで簡単に使い始められるのもいいですが、気軽につくれるbranchや、mergeのしやすさがたまりませんね。
インストール直後の状態でも普通に利用できますが、
ちょっとした設定でさらに使いやすくなる方法をご紹介したいと思います。
※今回ご紹介する内容はいずれも私のMacBook上での動作確認となり、Windows環境は考慮していませんがご容赦ください。
まずは、最初にユーザ名と、メールアドレスを設定してしまいましょう。
git status や git diffなど、デフォルトでは味気ない文字がズラズラと画面に表示されますが、それを見やすいようにカラーリングすることができます。
Gitのよく使うコマンド達を短く呼び出せるように、エイリアスを設定します。
ちなみに、「git hist」のエイリアスは、以下のようなツリー表示のログが簡単に確認できて便利です。
・画面表示例
自分の開発環境だけでできてしまうようなファイルのために、
プロジェクト内の.gitignoreに設定追加してしまうと他の人に嫌がられますよね。
そこで、自分用に追加でホームディレクトリの.gitignoreファイルを利用するようにします。
ここまでのコマンドでの設定作業は、ホームディレクトリの.gitconfigに以下のように直接記述でも可能です。
~/.gitconfig
ここまではGitのコンフィグでしたが、以降はbashの設定を行っていきます。
Gitで管理しているディレクトリにいるときに、bashに常にbranch名を表示するようにします。これでうっかり別のbranchで作業していたなんてことがなくなりますね。
追記:コメントにて「__git_ps1」を教えていただきました。
git-completionを導入している場合、.bashrcに、以下のように簡単にbranch名が表示できます。
~/.bashrc
※設定を反映します。
ブランチ名が表示されるようになります。
参考:http://railstips.org/blog/archives/2009/02/02/bedazzle-your-bash-prompt-with-git-info/
Gitのコマンドやオプションの補完を行えるようにします。
以下のURLからファイルをダウンロードしてホームディレクトリなどに保存します。
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
そのファイルを、.bashrcで読み込むように設定します。
~/.bashrc
以上、どれもさくっと簡単に設定できますのでぜひ試してみてください。
他にも、もっと便利な設定や使い方がありましたら是非教えていただければと思います。
Gitを使い始めてから、Subversionを使う機会がめっきり減ったこの頃です。
Gitだとローカルだけで簡単に使い始められるのもいいですが、気軽につくれるbranchや、mergeのしやすさがたまりませんね。
インストール直後の状態でも普通に利用できますが、
ちょっとした設定でさらに使いやすくなる方法をご紹介したいと思います。
※今回ご紹介する内容はいずれも私のMacBook上での動作確認となり、Windows環境は考慮していませんがご容赦ください。
■ユーザー名とE-mailアドレスの設定
まずは、最初にユーザ名と、メールアドレスを設定してしまいましょう。
- $
git config --global user.name "yoshiki" - $
git config --global user.email "yoshiki@example.com"
■カラーリング
git status や git diffなど、デフォルトでは味気ない文字がズラズラと画面に表示されますが、それを見やすいようにカラーリングすることができます。
- $
git config --global color.ui auto
■gitコマンドのエイリアスの設定
Gitのよく使うコマンド達を短く呼び出せるように、エイリアスを設定します。
- $
git config --global alias.co checkout - $
git config --global alias.ci commit - $
git config --global alias.st status - $
git config --global alias.br branch - $
git config --global alias.hist 'log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short'
- $
git st
- $
git ci -m "test commit"
ちなみに、「git hist」のエイリアスは、以下のようなツリー表示のログが簡単に確認できて便利です。
・画面表示例
■自分用のgitignore設定追加
自分の開発環境だけでできてしまうようなファイルのために、
プロジェクト内の.gitignoreに設定追加してしまうと他の人に嫌がられますよね。
そこで、自分用に追加でホームディレクトリの.gitignoreファイルを利用するようにします。
- $
git config --global core.excludesfile ~/.gitignore
■ここまでのGit設定内容一式。
ここまでのコマンドでの設定作業は、ホームディレクトリの.gitconfigに以下のように直接記述でも可能です。
~/.gitconfig
- [user]
name = yoshiki email = yoshiki@example.com - [color]
ui = true - [alias]
co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short - [core]
excludesfile = ~/.gitignore
ここまではGitのコンフィグでしたが、以降はbashの設定を行っていきます。
■bashのプロンプトにGitのbranch名を表示させる。
Gitで管理しているディレクトリにいるときに、bashに常にbranch名を表示するようにします。これでうっかり別のbranchで作業していたなんてことがなくなりますね。
追記:コメントにて「__git_ps1」を教えていただきました。
git-completionを導入している場合、.bashrcに、以下のように簡単にbranch名が表示できます。
- source
~/git-completion.bash - PS1="\h@\u:\W\$(__git_ps1)
\$ "
追記ここまで。
~/.bashrc
- function
parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' - }
- function
precmd() { PROMPT="\h@\u:\W\$(parse_git_branch) \$ " - }
- function
proml { PS1="\h@\u:\W\$(parse_git_branch) \$ " - }
- proml
※設定を反映します。
- $
source ~/.bashrc
ブランチ名が表示されるようになります。
- mac@air:~
$ cd Desktop/work/blog/ - mac@air:blog(master)
$ git branch ・・・・・・・・・←(master)表示 hoge_branch - *
master - mac@air:blog(master)
$ git checkout hoge_branch - Switched
to branch 'hoge_branch' - mac@air:blog(hoge_branch)
$ ・・・・・・・・・・・・←(hoge_branch)表示 - mac@air:blog(hoge_branch)
$ git branch - *
hoge_branch master
参考:http://railstips.org/blog/archives/2009/02/02/bedazzle-your-bash-prompt-with-git-info/
■bashでGitのコマンド補完
Gitのコマンドやオプションの補完を行えるようにします。
以下のURLからファイルをダウンロードしてホームディレクトリなどに保存します。
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
そのファイルを、.bashrcで読み込むように設定します。
~/.bashrc
- source
~/git-completion.bash
- $
source ~/.bashrc
- $
git 「ここでタブを押す」 - add
cherry-pick fetch instaweb relink st - am
ci filter-branch log remote stage - annotate
citool format-patch merge repack stash - :
- :
- $
git log --「ここでタブを押す」 - --abbrev
--dirstat --max-parents= --pretty= - --abbrev-commit
--dirstat-by-file --merges --quiet - --abbrev=
--dirstat-by-file= --min-age= --raw - :
- :
以上、どれもさくっと簡単に設定できますのでぜひ試してみてください。
他にも、もっと便利な設定や使い方がありましたら是非教えていただければと思います。
コメント
コメントフォーム
トラックバックURI
最近の記事
UMLを描こう - Vol.5 ICONIXロバストネス図 [2011年09月01日 : 浦本和裕]
Gitを使い始めたらやっておきたい便利な設定いろいろ [2011年09月01日 : 中川善樹]
月例社内誕生日会 [2011年08月12日 : 鴨田健次]
省電力サーバで夏を乗り切れ! [2011年08月11日 : 岡本雄樹]
Linuxでディスプレイに表示中のXに対してVNCする(X11VNC) [2011年08月11日 : 門脇優児]
「似ている」を探そう [2011年08月01日 : 志田仁美]
ラーメン日記 [2011年07月28日 : 笹亀弘]
【PhoneGap】「PhoneGap入門ガイド」が発売されました! [2011年07月25日 : 橋本章史]
Nginx+Fastcgi+PHPでサクサク快適サイト構築! [2011年07月18日 : 井川数志]
PHPで行う簡単画像リサイズと速度検証 [2011年07月11日 : 笹亀弘]
コメントありがとうございます。
> __git_ps1
これは便利ですね!!記事にも追記させていただきました。
ありがとうございました。