はじめに
gitのコミット時に行単位でコミットする部分を選択できるツール git-crecord に4年ぶりにリリースタグが付けられていましたので、 設定方法をメモしておきます。 git-crecordには、
- 部分選択コミット作業に特化
- テキストユーザーインターフェイス(ncursesベースのCUI)
- 操作方法が直感的なので覚えることはほぼなし(習得が簡単!)
設定
https://github.com/andrewshadura/git-crecord からgitでcloneします。このメモの作成時点では Python 3.6 以降が必要とのことです。 あとは、cloneしたディレクトリにあるgit-crecordがgitから見つけられるようPATHを通すだけです。 すでに、~/.local/bin/にパスが通っているのであれば、 そこにgit-crecordへのリンクを作成するのが最も簡単でしょう。 名前はgit-crecordのままである必要があります。
実行例
gitリポジトリでgit crecordを実行すると、
Select hunks to commit - [x]=selected **=collapsed c: confirm
q: abort arrow keys: move/expand/collapse space: deselect
?: help
[x] diff --git a/aaa.txt b/a.txt
similarity index 100%
rename from aaa.txt
rename to a.txt
___________________________________________________________________
[x] diff --git a/b.txt b/b.txt
new file mode 100644
[x] @@ -0,0 +1,1 @@
[x] +bbb
___________________________________________________________________
[~] diff --git a/c.txt b/c.txt
index 1e2c877..7bd5b45 100644
2 hunks, 3 lines changed
[~] @@ -1,3 +1,4 @@
ccc
[x] -ddd
[ ] +111
[x] +dDd
eee
[x] @@ -3,0 +5,1 @@
[x] +333
のような画面が表示されます。使い方はみたままです。
スペースキーでコミットする部分を行単位またはハンク単位、ファイル単位で選択できますので、選んだ後にcキーを押せばコミット処理が開始されます。
補足
(※1) Mercurialの設定ファイルに
[ui] interface = cursesと書いておけば hg commit -i で使えます。
0 件のコメント :
コメントを投稿