IntelliJ: การดูความแตกต่างของไฟล์ที่เปลี่ยนแปลงทั้งหมดระหว่างโลคัลและคอมมิต / สาขา


112

การใช้ diff viewer ของ IntelliJ เป็นวิธีที่ดีมากในการตรวจสอบโค้ดเพราะคุณสามารถทำการเปลี่ยนแปลงในเวอร์ชันโลคัลของคุณด้วยความสามารถทั้งหมดของโปรแกรมแก้ไขโค้ด IntelliJ (การปรับโครงสร้างใหม่การทำให้สมบูรณ์ ฯลฯ )

น่าเสียดายที่ฉันไม่ได้หาวิธีทำสิ่งที่สำคัญที่สุดเมื่อคุณทำการตรวจสอบโค้ดใน IntelliJ กล่าวคือ: ดูความแตกต่างของไฟล์ที่เปลี่ยนแปลงทั้งหมดในโครงสร้างการทำงาน (ตรวจสอบจากสาขาที่คุณต้องการรวม) และสาขาอื่น (สาขาที่คุณวางแผนจะรวมเข้าด้วยกันเช่น "master)

ไม่มีใครรู้วิธีการทำเช่นนี้?


โปรดดูเปรียบเทียบส่วนหนึ่งในบล็อกของพวกเขาโพสต์
วิก

1
คำถามนี้แสดงขั้นตอนเมนูในการแสดงความแตกต่างสำหรับไฟล์ทั้งหมดเทียบกับสาขาอื่น (เช่นมาสเตอร์): stackoverflow.com/questions/40637055/…
Alan Thompson

คำตอบ:


66

แม้ว่าคำตอบของ Jon Tirsen จะถูกต้อง แต่คุณต้องอ่านข้อความทั้งหมดเพื่อที่จะเข้าใจวิธีการทำเช่นนั้น

นี่คือภาพที่เหมือนกันใน mac

  1. ฉันกำลังทำงานกับ hello_world และต้องการเปรียบเทียบกับ master

UPDATE: ใน UI ใหม่ให้คลิกที่ Show Diff with Working Tree

ป้อนคำอธิบายภาพที่นี่

  1. ถัดไปจะมีหน้าต่างปรากฏขึ้น เลือกFilesและกดcmd + d

ป้อนคำอธิบายภาพที่นี่

  1. หน้าต่างอื่นที่แสดงความแตกต่าง คุณสามารถแสดงความแตกต่างได้หลายประเภท ใช้cmd + shift + ]และcmd + shift + [เพื่อเปลี่ยนระหว่างไฟล์

ป้อนคำอธิบายภาพที่นี่

เคล็ดลับที่แตกต่าง: IntelliJ มีคุณสมบัติที่แตกต่างขั้นสูง คุณสามารถตรวจสอบสิ่งที่อยู่ในภาพที่ 3


1
ฉันจะทำสิ่งนี้กับทั้งโปรเจ็กต์แทนที่จะเป็นไฟล์ต่อไฟล์ได้อย่างไร
JoeMjr2

@ JoeMjr2 ฉันไม่แน่ใจว่าวันนี้มีความสามารถหรือไม่ คุณสามารถเลื่อนดูไฟล์ทั้งหมดโดยใช้cmd + shift + [และcmd + shift + ](แทนที่ cmd ด้วย ctrl หากคุณใช้ windows)
Unknownerror

สิ่งนี้มีการเปลี่ยนแปลงในการอัปเดตเวอร์ชัน 2020 โปรดดูคำตอบของฉันด้านล่างสำหรับวิธีการอัปเดต
BlueYoshi

คุณสามารถเปรียบเทียบการแก้ไข 2 ครั้งด้วยรหัสคอมมิตได้ไหม
Dan Macák

น่าเศร้าที่ตอนนี้โมดอลนี้เปลี่ยนเป็นมุมมองแท็บซึ่งไม่มีไฟล์ต่าง คำตอบนี้จึงล้าสมัย
Innokenty

88

ขณะนี้ได้ดำเนินการแล้ว เพื่อเปรียบเทียบสองสาขาที่คุณทำ:

  1. ลองดูสาขาใดสาขาหนึ่งที่คุณต้องการเปรียบเทียบ
  2. เลือกสาขาที่คุณต้องการเปรียบเทียบในป๊อปอัปสาขา Git ในแถบสถานะที่ด้านล่างขวาของหน้าต่าง IntelliJ ป๊อปอัปพร้อมตัวเลือกบางอย่างจะปรากฏขึ้น
  3. เลือกตัวเลือก "เปรียบเทียบ"
  4. โดยค่าเริ่มต้นจะแสดงการคอมมิตทั้งหมดคุณยังสามารถเลือกแท็บ "ความแตกต่าง" เพื่อแสดงการเปลี่ยนแปลงจริง

นี้มีการอธิบายรายละเอียดทั้งหมดในมากขึ้นในหนึ่งในพวกเขาโพสต์บล็อก


4
เป็นไปได้ไหมกับการกระทำโดยพลการแทนสาขา? ฉันหมายความว่าฉันสามารถสร้างสาขาในพื้นที่ได้อย่างรวดเร็ว แต่ดูเหมือนจะยุ่งยากเล็กน้อย
Robin

1
@ Hikaru755 ใช่ฉันสร้างtmpสาขาฉันคิดว่ามันดีพอ ดูเหมือนว่า overkill
ycomp

3
@ โรบินใช่คุณทำได้ Ctrl-Dเปิดประวัติไฟล์ให้เลือกทั้งสองกระทำและกด มันทำงานระหว่างสาขาต่างๆด้วย
Victor Sergienko

18

สิ่งนี้มีการเปลี่ยนแปลงในการอัปเดตเวอร์ชัน 2020:

ตอนนี้คุณต้องทำสิ่งต่อไปนี้:

  1. ชำระเงินหนึ่งในสาขาที่คุณต้องการเปรียบเทียบ

  2. เปิดเมนูสาขา

  3. เลือกสาขาอื่นที่คุณต้องการเปรียบเทียบ

  4. เลือก"แสดงต่างกับต้นทำงาน"

ป้อนคำอธิบายภาพที่นี่


ขอบคุณฉันรู้ว่ามันเปลี่ยนไป แต่คิดไม่ออกว่ามันไปไหน
fmquaglia

1
นี่คือคำตอบที่ทันสมัยที่สุดในขณะนี้ คำตอบอื่น ๆ เกี่ยวข้องกับ IntelliJ เวอร์ชันเก่า แต่ไม่ใช่คำตอบปัจจุบัน
Pavel

11

ตอนนี้ดำเนินการแล้ว คุณคลิกขวาที่โครงการแล้วเลือก "Git - เปรียบเทียบกับสาขา ... " แล้วเลือกmasterสาขา เสร็จแล้ว แตกต่างไฟล์ทั้งหมด


อันนี้เป็นแนวทางที่ดี หากคุณเห็นตัวเลือกเป็นสีเทาแสดงว่าเป็นเพราะคุณไม่ได้คลิกขวาในโฟลเดอร์โครงการ java / main / src
jmojico

2

หากคุณต้องการเปรียบเทียบไฟล์ที่เปิดอยู่กับสาขาอื่นแบบเคียงข้างกันเพียงไปที่ VCS -> Git -> เปรียบเทียบกับ Branch


7
ที่ตอบคำถาม แต่ไม่ใช่คำถามนี้! :)
Lambart

0

คลิกขวาที่ชั้นเรียนและเลือกตัวเลือก Git ซึ่งคุณจะเห็นเปรียบเทียบกับตัวเลือกสาขาที่คุณสามารถเลือกสาขาที่ต้องการได้

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