Git: ต้องการข้อผิดพลาดในการแก้ไขเพียงครั้งเดียว


103

ฉันเริ่มต้นคอมไพล์ใหม่ในโปรเจ็กต์ของฉันและจนถึงตอนนี้ฉันมีคอมมิตเพียงสองครั้งเท่านั้น บันทึกของฉันเป็นเหมือนด้านล่าง

git log
commit e515e5b8dcbd8f1ea4a7a7d4a1efb82a1a0aee7a
Author: Olkun Mustafa <olkun.mustafa@gmail.com>
Date:   Fri Oct 3 10:04:20 2014 +0300

    Temp commit

commit 71781bf0a7807351a56d5155dac94169ea700527
Author: Olkun Mustafa <olkun.mustafa@gmail.com>
Date:   Fri Oct 3 10:01:42 2014 +0300

    First Commit

เมื่อฉันพยายามสร้างฐานใหม่สิ่งนี้ฉันได้รับข้อผิดพลาดดังต่อไปนี้

git rebase --interactive HEAD~2
fatal: Needed a single revision
invalid upstream HEAD~2

ฉันค่อนข้างค้นคว้าที่ google แต่ฉันยังไม่พบวิธีแก้ปัญหาจนถึงตอนนี้


2
ผลลัพธ์อะไรหลังจากที่คุณพยายามบรรลุที่นี่?
Oliver Charlesworth

คุณกำลังพยายามยกเลิกการกระทำของคุณหรือไม่?
mehmetseckin

คำตอบ:


191

ในกรณีของคุณไม่มีHEAD~2เนื่องจากคุณมีการคอมมิตเพียง 2 ครั้งจึงมีNeeded a single revisionข้อความแสดงข้อผิดพลาด ""
ลอง:

 git rebase -i --root

ดูเพิ่มเติมได้ที่ " Change first Commit of project with Git? "


1
ขอบคุณ! เหมาะสำหรับฉัน
YuLong Xiao

1
ฉันได้รับเฉพาะ "fatal: invalid upstream head ~ 2" แม้ว่าฉันจะมีการคอมมิตสี่ครั้งในบันทึกก็ตาม ข้อความ "การแก้ไขครั้งเดียว" ไม่ปรากฏให้ฉันเห็น อย่างไรก็ตามสิ่งนี้แก้ไขฉันได้ทัน! ขอบคุณ!
Austen Hoogen

8

สิ่งนี้ใช้ไม่ได้กับกรณีของคุณ แต่อาจช่วยผู้อื่นได้ หากใช้ Linux ตรวจสอบให้แน่ใจว่าHEADเป็นตัวพิมพ์ใหญ่ หากคุณใช้ตัวพิมพ์เล็กheadเหมือนตัวอย่างแรกด้านล่าง (เนื่องจากคุณคุ้นเคยกับการทำงานบน Windows หรือ Mac และสิ่งเหล่านี้อนุญาตให้ใช้ตัวพิมพ์เล็กhead) คุณจะได้รับfatal: Needed a single revisionข้อผิดพลาด!

หรือจะใช้@เป็นนามแฝงHEADก็ได้คุณก็ไม่ต้องกังวลว่าจะลืมใช้ตัวพิมพ์ใหญ่

# wrong on linux
git rebase --interactive head~2

# correct on linux
git rebase --interactive HEAD~2

# correct on all
git rebase --interactive @~2

ขอบคุณมาก! ฉันต่อสู้กับสิ่งนี้มาสองสามชั่วโมงแล้วและตัวพิมพ์ใหญ่HEADคือการแก้ไข
Jinsong Li

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