25
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

git contribを使う

Last updated at Posted at 2014-07-26

git contribを使う

gitの中にあるcontribに便利ツールがいくつもあるので、それらをいくつか調べてみた。

※ $(CONTRIB_PATHT)が出てきた時は、git clone http://github.com/git/git をして、その中にあるcontribの事を指しています。

completion

おすすめ度:★★★★★
現在のbranch名の表示や、補完をしてくれる。

参考:Gitブランチ名を__git_ps1でbashプロンプトに表示 - 130単位

git-jump

おすすめ度:★☆☆☆☆
コンフリクトしたファイルや、変更したファイルを簡単に開ける。

導入

$ chmod +x $(CONTRIB_PATH)/git-jump/git-jump
$ ln -s $(CONTRIB_PATH)/git-jump/git-jump /usr/bin/git-jump

使い方

$ git jump [diff | merge | grep] 

git diffでヒットしたファイル, コンフリクトしているファイル, grepでヒットしたファイルを開く事ができます。
複数ファイルがヒットした場合、最初の1つしか開けない気がします。

なお、開くエディタはcore.editorで指定しているエディタです。
どうもemacsにしているとうまく動作しない模様。
(うまく使う方法をご存じの方、是非教えてください。。)

diff-highlight

おすすめ度:★★★★★
git diffの表示をgithubっぽくする
どこが変わっているかをハイライトしてくれるので非常にdiffが見やすくなります。

導入

$ chmod +x $(CONTRIB_PATH)/diff-highlight/diff-highlight
$ ln -s $(CONTRIB_PATH)/diff-highlight/diff-highlight /usr/bin/diff-highlight

$ git config --global pager.log "diff-highlight | less"
$ git config --global pager.show "diff-highlight | less"
$ git config --global pager.diff "diff-highlight | less"

参考:Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば (Poetry, Writing and Contemplation)
↑ どんな感じの表示になるかも、見やすく載せてくださってます

workdir

おすすめ度:★★★☆☆
複数ブランチ開発したいので、git cloneを……といった時に重宝する

導入

$ chmod +x $(CONTRIB_PATH)/workdir/git-new-workdir
$ ln -s $(CONTRIB_PATH)/workdir/git-new-workdir /usr/bin/git-new-workdir

使い方

$ git new-workdir <repository> <new_workdir> [<branch>]

ソフトリンクを使うようなので高速です。
ただ、僕はgit stash; git checkout branch; をする事が多いので使う場面は少なそう。

emacs

おすすめ度:★☆☆☆☆
emacs上でgit statusやblameの表示などをサポートする

導入

$ cd $(CONTRIB_PATH)/emacs
$ make
~/.emacs
(add-to-list 'load-path "$(CONTRIB_PATH)/emacs")
(require 'git)
(require 'git-blame)

~/.emacsにこれを追記する

使い方

emacsでファイルを開いている状態で
M-x git-
でtab補完して色々使ってみると良いかと思います。

僕はemacsもvimもバリバリにカスタマイズしてゴリゴリ使う人ではないので便利なのか……? という感じでしたが、便利なのかも。

subtree

おすすめ度:★★★☆☆
submoduleと違って内部の物として外部のレポジトリを用いる。
git v1.7.11以降では標準装備だそうです。

導入

$ cd $(CONTRIB_PATH)
$ make
$ make install
$ ln -s git-subtree /usr/bin/git-subtree

使い方

git subtree使ってみた

--

他にも色々あるので、興味がある人は調べてみるといいと思います。
個人的には、completionとdiff-highlightは必須で他は結局使わなさそうだなぁという印象でした。

25
19
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
25
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?