Git: git add -i veya git add -e kullanırken daha fazla bağlam gösterilsin mi?


101

Seçime bağlı olarak büyük bir dosyanın parçalarını işliyorum ve her bir parçanın etrafında daha fazla bağlam görmek istiyorum. Mümkün mü?

Yanıtlar:


130

Kısa cevap: hayır.

git diffvardır -U<n>Eğer bir değişiklik gezdirmek için satır sayısını özelleştirmek için izin verir seçeneği. Örneğin, git diff -U5 ...5 satır içerik gösterecektir. Anladığım kadarıyla etkileşimli modda fark ekranı için böyle bir seçenek mevcut değil.


7
-U<infinity>Dosyanın tamamını gösterme seçeneği var mı ? (Ya da büyük bir sayı "yeterince iyi" mi?)
titaniumdecoy

2
İçindeki sayının git diff -U<n>her değişen satırın her iki tarafında da kullanıldığını belirtmek isterim . Yani bir satır değiştirdiyseniz, git diff -U5size 11 satır gösterecektir (bir satırın dosyanın sonunda olmadığı varsayılarak)
ArtOfWarfare

5
Bu veya için git diffdeğilgit add --patchgit add --interactive
0xcaff

1
@titaniumdecoy, bunu ayrı bir soru olarak yayınladım stackoverflow.com/questions/28727424/…
Aleksandr Levchuk

3
Hala çözüm yok mu?
Vitaly Zdanevich

2

Doğrulamak için, bu 2019'da hala mümkün değil.

Gibi harici bir araç jjlee/git-meld-indexyardımcı olabilir:

git-meld-indexgit dizinindeki (git evreleme alanı olarak da bilinir) değişiklikleri etkileşimli olarak aşamalandırmanıza izin vermek için çalışır meld- veya başka bir git difftool ( kdiff3, diffusevb.).

Bu işlevselliği benzer git add -pve git add --interactive.

Bazı durumlarda meld kullanımı git add -p, .gibi araçlardaki evreleme özelliğinden daha kolay / daha hızlıdır git gui.
Çünkü meld, örneğin şunları yapmanıza izin verir:

  • daha fazla bağlam görmek ,
  • satır içi farklılıklara bakın
  • elle düzenleyin ve 'canlı' fark güncellemelerini görün (her tuşa basıldıktan sonra güncellenir)
  • natlamak istediğiniz her değişikliğe ' ' demeden bir değişikliğe gidin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.