jj komutunu yanlışlıkla tekrarlamak küçük bir hata gibi görünse de alt komut hatasına yol açar; ancak bu durum jj yapılandırma takma adıyla absorbe edilebilir
- Örnekte, şu anda düzenlenen changeset’in kısa ID’sini almak için kullanılan
jj jj show -T 'change_id.short()' komutunun başarısız olduğu durum gösteriliyor
jj, git gibi yapılandırma dosyasında alias tanımlamaya izin verir; jj util exec ile kalan komutlar yeniden jjye aktarılabilir
- Basit bir takma ad,
-Tyi çalıştırılacak hedefin değil jj util execin seçeneği gibi yorumladığından, argüman ayrıştırmasını -- ile kesmek gerekir
- Son ayar olan
jj = ["util", "exec", "--", "jj"] kullanıldığında yalnızca jj jj show değil, birden çok kez iç içe geçmiş jj jj jj... show da aynı changeset ID’sini yazdırır
Tekrarlanarak girilen jj, alt komut hatasıyla başarısız oluyor
jj kullanırken komut satırına fazladan bir jj daha yazarsanız, ikinci jj alt komut olarak yorumlanır ve komut başarısız olur
- Örnek, şu anda düzenlenen changeset’in kısa ID’sini almaya çalışan bir komuttur
$ jj jj show -T 'change_id.short()'
error: unrecognized subcommand 'jj'
Usage: jj [OPTIONS] <COMMAND>
For more information, try '--help'.
- Kabuk takma adıyla da etrafından dolaşılabilir, ancak
jjnin kendi yapılandırmasındaki alias kullanılabilir
- Yapılandırmayı düzenlemek için
jj config edit kullanılabilir
- Kabuktan yapılandırmayı değiştirmek için
jj config set kullanılabilir
jj util exec içinde argüman aktarımı -- ile sabitleniyor
- İlk deneme, takma addan
jj util exec ile tekrar jj çalıştırma yöntemidir
[aliases]
# jj all the way down
jj = ["util", "exec", "jj"]
- Bu ayarda
-T, çalıştırılacak hedef jjnin değil jj util execin seçeneği gibi yorumlandığı için başarısız olur
$ jj jj show -T 'change_id.short()'
error: unexpected argument '-T' found
tip: to pass '-T' as a value, use '-- -T'
Usage: jj util exec [OPTIONS] <COMMAND> [ARGS]...
For more information, try '--help'.
-- eklendiğinde, sonrasındaki seçenek ayrıştırması durdurulur ve kalan argümanlar olduğu gibi çalıştırılacak hedefe aktarılabilir
[aliases]
# jj all the way down
jj = ["util", "exec", "--", "jj"]
- Son ayardan sonra normal
jj show, iç içe geçmiş jj jj show ve daha çok tekrarlanmış jj jj jj ... show komutlarının tümü aynı kısa changeset ID’sini yazdırır
$ jj show -T 'change_id.short()'
upvqxuzzvxtx
$ jj jj show -T 'change_id.short()'
upvqxuzzvxtx
$ jj jj jj jj jj show -T 'change_id.short()'
upvqxuzzvxtx
$ jj jj jj jj jj jj jj jj jj jj jj jj jj jj jj jj jj show -T 'change_id.short()'
upvqxuzzvxtx
1 yorum
Lobste.rs görüşleri
Daha önce de git git git git git vardı
Bu, daha basit bir yöntemle de yapılabilir:
Bu biçimin tek dezavantajı, doğru hatırlıyorsam
jj jjgibi başka argüman olmadan çalıştırıldığındajjgibi varsayılan komutu çalıştırmamasıVay, neredeyse 1 yıl önce (28/09/25) JJ Discord üzerinde aynı çözümü paylaşmıştım
jj jj ...yazım hatasınınjj ...gibi davranması için aslında gereken şey şu:Aslında bu yöntemi epey beğeniyorum
Bu bir bunny party referansı mı?
Kendi yönettiğim jj yapılandırma gist’ime de ekledim: https://gist.github.com/pksunkara/622bc04242d402c4e43c7328234fd01c
Yine de Jujutsu’nun ne olduğunu ve neden kullanmam gerektiğini tweet uzunluğunda, 5 yaşındaki birine anlatır gibi özetleyen bir versiyon görmek isterim
Önceki iş yerimde Git’i 4 yıl boyunca her gün kullandım ve gerçekten nefret ettim. İhtiyaç duyduğumuz şeylere ve çoğu kullanım biçimine kıyasla tuhaf derecede aşırı karmaşıktı; çoğu kişi için dağıtık bir sürüm kontrol sistemi değil, Github merkezli, merkezi sunucu tabanlı bir araçtı
Birçok Git kullanıcısının
gitkelimesinin Britanya İngilizcesinde “huysuz, işbirliğine yanaşmayan ve işe yaramaz kişi” anlamına da geldiğini bilmemesi komik. Araç olarak Git’i iyi anlatan bir ifadeAncak başka bir sürüm kontrol sistemi hiç kullanmadığım için karşılaştırma konusunda zayıfım. Jujutsu’yu Google’da aramak da zor; belgeleri de benim gibi kişilerden çok daha deneyimli sürüm kontrol kullanıcılarına yönelik gibi görünüyor
gitadını seçmesinin gerçekten de kaba ve huysuz kişi anlamından dolayı olduğunu düşünüyorum