Git: แสดงบริบทเพิ่มเติมเมื่อใช้ git add -i หรือ git add -e?


101

ฉันเลือกบางส่วนของไฟล์ขนาดใหญ่และฉันต้องการดูบริบทเพิ่มเติมเกี่ยวกับ hunk แต่ละส่วน เป็นไปได้หรือไม่

คำตอบ:


130

คำตอบสั้น ๆ : ไม่

git diffมี-U<n>ตัวเลือกที่ช่วยให้คุณปรับแต่งจำนวนบรรทัดเพื่อแสดงรอบการเปลี่ยนแปลง ตัวอย่างเช่นgit diff -U5 ...จะแสดงบริบท 5 บรรทัด เท่าที่ฉันสามารถบอกได้ไม่มีตัวเลือกดังกล่าวสำหรับการแสดงผลต่างในโหมดโต้ตอบ


7
มี-U<infinity>ตัวเลือกให้แสดงทั้งไฟล์หรือไม่? (หรือจำนวนมาก "ดีพอ"?)
titaniumdecoy

2
ฉันต้องการพูดถึงว่าจำนวน in git diff -U<n>ถูกใช้ทั้งสองด้านของแต่ละบรรทัดที่เปลี่ยนแปลง ดังนั้นหากคุณมีการเปลี่ยนแปลงหนึ่งบรรทัดgit diff -U5จะแสดงให้คุณเห็น 11 บรรทัด (สมมติว่าหนึ่งบรรทัดไม่ได้อยู่ที่จุดเริ่มต้นของจุดสิ้นสุดของไฟล์)
ArtOfWarfare

5
นี่git diffไม่ใช่สำหรับgit add --patchหรือgit add --interactive
0xcaff

1
@titaniumdecoy ฉันโพสต์เป็นคำถามแยกต่างหากstackoverflow.com/questions/28727424/…
Aleksandr Levchuk

3
ยังไม่มีวิธีแก้ไข?
Vitaly Zdanevich

2

เพื่อยืนยันว่าสิ่งนี้ยังไม่สามารถทำได้ในปี 2019

เครื่องมือภายนอกเช่นjjlee/git-meld-indexสามารถช่วยได้:

git-meld-indexวิ่งmeld- หรือ difftool คอมไพล์อื่น ๆ ( kdiff3, diffuseฯลฯ ) - เพื่อช่วยให้คุณกับการเปลี่ยนแปลงขั้นตอนการโต้ตอบเพื่อสร้างดัชนีคอมไพล์ (หรือที่เรียกเป็นพื้นที่การแสดงละครคอมไพล์)

นี้จะคล้ายกับการทำงานของและgit add -pgit add --interactive

ในบางกรณี meld ใช้งานง่าย / เร็วกว่าgit add -pหรือคุณสมบัติการแสดงละครในเครื่องมือเช่นgit gui.
นั่นเป็นเพราะ meld ช่วยให้คุณสามารถ:

  • ดูบริบทอื่น ๆ ,
  • ดูความแตกต่างภายในบรรทัด
  • แก้ไขด้วยมือและดูการอัปเดตที่แตกต่างกัน 'สด' (อัปเดตทุกครั้งที่กดแป้น)
  • ไปที่การเปลี่ยนแปลงโดยไม่ต้องพูดว่า ' n' กับทุกการเปลี่ยนแปลงที่คุณต้องการข้าม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.