Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?
@310ma3

gitのブランチ名補完を試した際の備忘録

More than 3 years have passed since last update.

環境

git version 2.4.0

はじめに

gitのブランチ名補完を試してみて詰まったところの備忘録です。

「git chechkout ~~」や「git log ~~」など様々な場面でブランチ名を指定する際に、いちいち「git branch」を行ってからコピペという流れが無くなるので作業が早くなるはず?(まだ検証中)

先にまとめ

導入方法

http://qiita.com/snaka/items/4b0437a32da832d2e0db
すごく簡単!のはずなのですが...

解説

「FETCH_HEAD」「HEAD」「ORIG_HEAD」しか表示されない問題

参考URLに沿って作業を行ったのですが補完時に上記3つしか表示されませんでした。

▽Qiita - GitのHEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEADとは?
http://qiita.com/t-mochizuki/items/347cba461fd570bca03c
ハッシュ値の別名が表示されているだけで、ブランチ名を全く補完できていませんでした。

▽mawatari.jp - Gitコマンドをタブキーで補完できるようにする
http://mawatari.jp/archives/git-completion-bash
この記事を読んでfindを実行してみると...

# 検索してみる
find / -name git-completion.bash

# 既存のものがいくつか出てくる
/Applications/SourceTree.app/Contents/Resources/git_local/contrib/completion/git-completion.bash
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash

SourceTreeに入っていたgit-completion.bashを複製して使用してみることに。

cp /Applications/SourceTree.app/Contents/Resources/git_local/contrib/completion/git-completion.bash ~/.git-completion.bash
source ~/.git-completion.bash

補完できるようになりました!

aliasに登録しているコマンドが反応しない問題

通常のgitコマンドは補完できるようになったのですが、「gch」「gl」などaliasに登録しているコマンドが反応しませんでした。

▽basyura's blog - bash で git のブランチ名補完
http://blog.basyura.org/entry/2016/04/29/213610
aliasが対応できるように追記してあげれば良いとのこと。

# git-completion.bash最下部
# ここに
__git_complete git __git_main
__git_complete gitk __gitk_main

# こう追記した
__git_complete git __git_main
__git_complete gitk __gitk_main
__git_complete gch _git_checkout
__git_complete gd _git_diff
__git_complete gl _git_log
__git_complete gt _git_log
__git_complete gt2 _git_log

これでaliasコマンドも補完できるようになしました!

そもそもだけど.bashrcって何?

▽Qiita - .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの?
http://qiita.com/hirokishirai/items/5a529c8395c4b336bf31

~/.bash_profile:ログイン時に一度設定すればいいもの
~/.bashrc:bashを起動するたびに設定する必要のあるもの

さいごに

同僚が補完していて、便利そうだったので試してみました。
知らないけど便利な機能いっぱいあるんだろうなぁ。

4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
310ma3
Progateで教材作ってます。効率化ツールを作るのが好きです!

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
4
Help us understand the problem. What is going on with this article?