目次
はじめに
gitは
最近のソフトウェア開発には必須だと思いますが、
VimとGitを上手く連携させて、
効率的にソフトウェアを
バージョン管理する方法をまとめたいと思います。
Gitのコンフリクトをvimdiffでマージする
セットアップ
git config --global merge.tool vimdiff
git config --global merge.conflictstyle diff3
git config --global mergetool.prompt false
参考資料
git連携用vimプラグイン: vim-fugitive
vim-fugitiveはVimとGitで調べると
一番最初に出てくるほど有名なVimプラグインです。
インストール
Neobundleを使っている場合、
これでOKです。
NeoBundle 'tpope/vim-fugitive'
Gstatusが凄く便利
vim-fugitiveをインストールして、
:Gstatus
とvimのコマンドを入力すると、
画面分割されてgit statusの画面が表示されます。
これだけでも非常に便利ですが、
git statusの画面で、
各ファイル名の行の上にカーソルを合わせて、
- (ハイフン)を押すと、
addとresetを切り替えることができます。
つまり、:Gstatusのstatus画面上で、
コミットするファイルを簡単に選び(add)、
あとは、status画面で C (大文字c) またはccを入力すれば
コミット画面が表示されるので
コミットメッセージを入力すればすぐにコミットできます。
また、同様に:Gstatusのファイル名の上で、
D (大文字d)を押すと、HEADとの差分が
vimdiffで表示されます。
またファイル名の上でEnterを押すと、
そのファイルをvimで開くことができます。
何かわけがわからなくなって、コミット時までソースを戻したい時
:Gread
と入力するとHEADまでコードを復元することができます。
色々修正したせいで
わけがわからなくなったときは便利です。
ブランチ名をvimのステータスラインの表示する
vim-fugitiveをインストールした状態で、
下記の設定をvimrcに追加すると、
vimのステータスラインに現在のブランチ名を表示することができます。
" Statuslineの設定 set laststatus=2 set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ \[ENC=%{&fileencoding}]%P
編集しているファイルの
エンコーディングも表示しています。
ソースコードのGitHubページを一瞬でブラウザで開く
GitHub上で管理されているコードをいじっている時に、
そのファイルのGitHubページを見たい時は、
:Gbrowse
とvimでコマンドすると、自動的にブラウザが立ち上がり、
そのファイルのGitHubページが表示されます。
またビジュアルモードでコードを選んで、
:Gbrowse
するとそのコードをハイライトした状態で
GitHubのページを表示してくれます。
コミットする
先ほど説明したとおり、
:Gstatus上でC or ccでコミットできますが、
vimから直接コミットする場合は、
:Gcommit
でOKです。
pushする
pushは特にコマンドは無いみたいなので、
:Git push origin master
といった感じでpushできます。
HEADとのdiffを表示する
:Gstatus上でもdiffできますが、
:Gdiff
でもdiffが表示できます。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。