ใช้ IntelliJ เพื่อแก้ไขข้อความคอมมิตคอมมิต


คำตอบ:


86

View => Tool Windows => Version Control ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 และสูงกว่า => ไปที่Logแล้วคลิกขวา + rewordหรือกด F2

IntelliJ เปลี่ยนชื่อคอมมิต

ในขณะที่คุณอยู่ในสาขาเดียวกัน (สาขาที่เช็คเอาต์ของคุณเหมือนกัน)


4
ดูเหมือนจะเป็นวิธีเดียว (ข้างบรรทัดคำสั่ง) ในการแก้ไขความคิดเห็น (โดยไม่ต้องทำการเปลี่ยนแปลงเพื่อบังคับให้คอมมิต) ด้วย WebStorm 2017 หน้าต่างควบคุมเวอร์ชันนี้จะปรากฏขึ้นผ่าน Alt + 9 หรือ View-> Tool Windows-> Version Control
CODE-REaD

3
ใน Idea 2017.3 คำสั่งที่อธิบายคือชื่อ "Reword ... " แทน "เปลี่ยนชื่อ" (ดังแสดงในภาพหน้าจอ :-)) F2 ยังใช้งานได้
Volker Seibt

1
ใครทราบบ้างว่าทำไม "Edit Commit Message ... " ถึงเป็นสีเทาใน IntelliJ (2019.3.1) ของฉัน
Cold_Class

@Cold_Class นี่เป็นข้อความยืนยันของคุณหรือเปล่า? ฉันมีสีเทาหนึ่งอันซึ่งเป็นการผสาน เช่นMerge branch 'develop' of REPO_URL into BRANCH_NAMEนี้คือสิ่งที่คุณหมายถึงอะไร?
Stefan Rein

@StefanRein - วันนี้ฉันมีปัญหานี้และรู้ว่าฉันอยู่ในโหมดเลือกเชอร์รี่ - สิ่งนี้จะต้องถูกยกเลิก
Lost Crotchet

72

รองรับการแก้ไข: เรียกใช้ "ยอมรับการเปลี่ยนแปลง" และเลือกช่องทำเครื่องหมาย "แก้ไขข้อตกลง" ในกล่องโต้ตอบคอมมิต จากนั้นกดปุ่ม "Commit" และการคอมมิตจะถูกแก้ไขไปก่อนหน้านี้

อย่างไรก็ตามการสนับสนุนมี จำกัด :

  • คุณไม่เห็นรายละเอียดของการกระทำที่กำลังแก้ไข
  • หากคุณไม่มีการเปลี่ยนแปลงที่ไม่ได้ผูกมัด (ตัวอย่างเช่นคุณเพียงแค่ต้องการเปลี่ยนข้อความของการกระทำก่อนหน้านี้โดยไม่ต้องเพิ่มการเปลี่ยนแปลงเพิ่มเติม) คุณจะไม่สามารถเรียกใช้ "Commit" ได้

12
วิธีแก้ปัญหาปกติสำหรับปัญหาที่สองคือการเพิ่มอักขระที่ไม่สำคัญ (ช่องว่าง ฯลฯ ) ลงในไฟล์เพื่อให้คุณสามารถยอมรับได้
leokom

ฝ่ายสนับสนุนของ JetBrains ส่งคำขอการปรับปรุงIDEA-81428และIDEA-57979 ให้ฉัน คำถามและคำตอบนี้ใช้ได้กับ PyCharm ด้วย
Wil Cooley

10
คำตอบนี้ไม่เป็นความจริงอีกต่อไปตั้งแต่ปี 2017 คุณสามารถทำได้อย่างง่ายดายในขณะนี้: Version Controlแผง> Logแท็บ> เลือกการกระทำครั้งสุดท้าย> กด F2 jetbrains.com/idea/whatsnew/#v2017-2-version-control
DLight

39

ในที่สุดก็พบวิธีแก้ปัญหานี้ .. ปัญหานี้ทำให้ฉันหนักใจมาหลายวัน

  1. ไปที่แท็บ Version Control -Log
  2. เลือกเวอร์ชันหนึ่งด้านล่างการเปลี่ยนแปลงของคุณ คลิกขวาและพูดว่า "รีเซ็ตสาขาปัจจุบันเป็นที่นี่"
  3. เลือก "ซอฟต์" และคลิกที่รีเซ็ตสิ่งนี้สำคัญมากคุณต้องคลิกที่ซอฟต์เท่านั้นเพื่อไม่ให้การเปลี่ยนแปลงของคุณหายไป
  4. ตรวจสอบในการควบคุมเวอร์ชันการเปลี่ยนแปลงในเครื่องการเปลี่ยนแปลงของคุณจะสามารถดูได้ในรายการการเปลี่ยนแปลงเดียวกัน
  5. คลิกขวาที่รายการการเปลี่ยนแปลงและเลือกกระทำ
  6. มันจะแสดงข้อความยืนยันก่อนหน้าของคุณตอนนี้คุณสามารถแก้ไขความคิดเห็นและพูดว่ากระทำและผลักดัน

    Note: This solution uses android studio as intellij platform. 
    

1
สำหรับฉันใน IntelliJ 17.3 ฉันสามารถใช้รายการเมนู "Reword ... (F2)" ใน Version Control: Log เพื่อแก้ไขข้อความคอมมิตโดยตรง
Claes Mogren

29

คุณยังสามารถไปที่โฟลเดอร์ git ของคุณด้วยเทอร์มินัลและเชลล์เช่น powershell, cmd หรือ bash (ขึ้นอยู่กับระบบของคุณ) จากนั้นพิมพ์:

git commit --amend -m "your new commit message"

3
และเนื่องจาก IntelliJ มีเทอร์มินัลในตัวคุณจึงไม่จำเป็นต้องออกจาก IDE นี่อาจเป็นวิธีที่เร็วที่สุด
walen

คุณบันทึกคอมมิตการแก้ไขอย่างไร? ฉันคิดไม่ออกว่าคำสั่ง exit คืออะไร CTRL-x CTRL-q?
JPM

มีตัวเลือกแก้ไขในขณะที่ committin ใน intellij
Gaurav

14

สามารถแก้ไขข้อความ Commit ได้ในระหว่าง rebase เรียกใช้Rebaseคำสั่งจากVCSเมนูยืนยันการตั้งค่าสาขาจากนั้นคลิกปุ่ม Rebase คุณจะเห็นรายการการกระทำที่ยังไม่ได้ดำเนินการ เลือกการrewordดำเนินการจากเมนูแบบเลื่อนลงทางด้านซ้ายของข้อความที่คุณต้องการแก้ไข

ตรวจสอบเอกสาร git ในRewriting Historyเพื่อดูรายละเอียดเกี่ยวกับการดำเนินการ rebase อื่น ๆ


2
นี่เป็นหนึ่งในตัวเลือกที่ดีกว่า หากคุณได้ผลักดันการเปลี่ยนแปลงไปจนถึงต้นทางแล้ว IDE จะเตือนคุณ นี่เป็นสิ่งที่ดีราวกับว่ามีคนดึงคอมมิตที่คุณผลักไปแล้วการแก้ไขคอมมิตแม้ว่าจะเปลี่ยนข้อความคอมมิตก็ตามก็หมายความว่าทุกคนที่ดึงคอมมิตก่อนหน้านี้จะต้องปรับฐานใหม่ด้วย โดยทั่วไปถือเป็น "สิ่งที่ไม่ดี"
Chris Cogdon


2

เพื่อความเป็นธรรมวิธีที่เร็วที่สุดในการดำเนินการนี้คือผ่านทางบรรทัดคำสั่ง ฉันรู้ว่า OP กำลังถามเกี่ยวกับการทำผ่าน IntelliJ (ฉันพบคำถามนี้ได้อย่างไรฉันพยายามทำใน PHPStorm) แต่อย่างจริงจังมันง่ายกว่ามากผ่านทางบรรทัดคำสั่ง

เมื่ออยู่ในโฟลเดอร์ที่ถูกต้องในประเภท terminal / command prompt ของคุณ

git commit --amend

จากนั้นคุณจะเห็นข้อความคอมมิตสุดท้ายเพียงแก้ไขข้อความและบันทึกไฟล์งานเสร็จ!

หากคุณต้องการเปลี่ยนเอดิเตอร์ (ค่าเริ่มต้นเป็น vi) ให้ใช้คำสั่งนี้โดยเปลี่ยน "vim" เป็นเอดิเตอร์ที่คุณเลือก

git config --global core.editor "vim"

เช่นผู้ใช้ windows อาจต้องการ ...

git config --global core.editor "notepad"

ที่มา: https://help.github.com/articles/changing-a-commit-message/


1
คำตอบของคุณคล้ายกับคำตอบอื่น ๆ มากเกินไปและเป็นวิธีที่สะดวกกว่า git commit --amend -m my_new_messageใช้เพื่อเปลี่ยนข้อความคอมมิตโดยตรงจากบรรทัดคำสั่ง
Christopher J.

เราว่าอันนี้ดี เราสามารถแก้ไขข้อความตามข้อความเท็จ และบรรณาธิการ "VI" ก็ดีเช่นกัน
Leo Lee

@ChristopherJ. - ขอโทษฉันไม่เห็นคำตอบของคุณเมื่อฉันโพสต์สิ่งนี้ ฉันจะปล่อยไว้ที่นี่แม้ว่าฉันจะมีการเพิ่มการเปลี่ยนแปลงตัวแก้ไขหากคุณไม่ชอบค่าเริ่มต้น
Steve Childs

2

ในกรณี 2018.3 และเดียวกันกับ 2017.1

Alt + 9(หน้าต่างควบคุมเวอร์ชัน)

แล้วคลิกขวา -> เมนูบริบทคลิก "Reword ... F2 "

หรือ

shorcut F2คุณสามารถแก้ไขข้อความ


1

ใน JetBrains Go to View -> Version Control-> สิ่งนี้จะเปิดแท็บบันทึกการควบคุมเวอร์ชันที่ด้านล่างของหน้าจอ Go to Logและคุณจะเห็นการกระทำที่คุณได้คลิกขวาครั้งสุดท้ายแล้วเลือกundo commit

บิงโก! คุณได้คืนค่าคอมมิตทั้งหมดของคุณและข้อความจะถูกลบ คุณยังสามารถเลือกที่จะทำการซอฟต์รีเซ็ตได้ในกรณีที่คุณต้องการเพียงแค่เปลี่ยนค่าคอมมิต

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