yhara.jp

Recent Posts

jj (Jujutsu)早見表

Tech

https://github.com/jj-vcs/jj について。

jjとは

gitより新しい世代のVCS(バージョン管理システム)です。

gitと違ってステージ(git add)の概念がなく、いまある全てのファイルが管理対象と見なされます。このためvibe codingのように新しいファイルをがんがん作っても都度git addするという手間がありません(その代わり.gitignore相当を最初にちゃんと書いておく必要あり)。

互換性

.gitをバックエンドとして使う機能があるので、「jjを使いつつ、成果物をgithubで公開」とか「チームメンバーはgitで、自分だけjj」みたいなことができます。

公式チュートリアル

https://docs.jj-vcs.dev/latest/tutorial/

コマンドメモ

  • 初期化
    • jj git clone <url>
    • jj git init
  • 状況確認
    • jj st (status)
    • jj diff
    • jj log
  • コミット作成
    • jj describe $EDITORでコミットメッセージを編集
    • jj new コミットを確定

コミットの作り方について

gitはgit commitのタイミングでコミットメッセージを書きますが、jjではjj describeで事前にコミットメッセージだけ記入することができます。このため作業を始めるときに先にコミットメッセージだけ書いておく、みたいなことができます。

逆にいうとjj describeだけではコミットはまだ作成されず、jj newで確定させる必要があります。(前述のようにgit add相当のコマンドはなく、いまあるファイルがすべてコミット対象になります。)

いちいち2コマンド叩くのは面倒、という人はjj commitというコマンドを使いましょう。

ちなみにコミットメッセージが空の状態でもjj newはできます。いちいちコミットメッセージを書くのは面倒だけど差分管理だけしたい、という場合はjj new連打でいけます(良い子は真似しないように)。

More posts

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author