Python製のgitコマンドラインツール「legit」を試す


python製のgitコマンドラインツール「legit」がどんな感じか試してみました。

legit
http://www.git-legit.org/


以前ちょっと試してみたClintを内部的に使ってます。

PythonコマンドラインツールClintを試す
http://d.hatena.ne.jp/yuheiomori0718/20120113/1326460965


というか作った人が同じなんですね

インストール

pip install legit
legit install

用意されているコマンド


軽くソース読んで実行してみて、こんなことをしてるんだろうというのを調べたのでメモしておきます

switch

ブランチを変更します。変更がある場合はstashしてくれます。

sync

作業中のブランチを中央リポジトリと同期します。
変更点があればstashし、fetch->mergeした後、pushします。
最後にunstash。

publish

作業中のブランチを中央リポジトリにpushします

git push origin <branch>
unpublish

リモートリポジトリを削除します。

git push origin :<branch>

これはちょっと構文がわかりづらいとPro Gitにも書いてあったと思います。ですのでunpublishというエイリアスはいいですね

harvest

ブランチの内容をマージする。
変更点があればstashし、マージ後にunstashしてくれます。

graft

ちょっとharvestとの使い分けがよくわからなかったんですが、こちらもマージを行います。
ただgraftの場合はリモートに公開しているブランチのマージは出来ず、マージ後はブランチを削除します。
あとマージコマンドには--no-ffが付きます

sprout

ローカルに変更があればstashしてからブランチを切ります

git checkout -b <branch>
branches

ブランチの一覧をカラフルに表示

感想と追記

Git Workflow for Humansというだけあって、わかりやすい名前を選んでつけてる感じがします。

裏でなにが行われているかわからないから不安、という場合は、環境変数 GIT_PYTHON_TRACEに値を設定しておくと、実行されたgitのコマンドが表示出力に表示されます。
fullを設定しておくと、gitコマンドの結果も表示されます。


Gitによるバージョン管理

Gitによるバージョン管理