Git: Memerlukan kesalahan revisi tunggal

101

Saya menginisialisasi git baru dalam proyek saya dan sejauh ini saya hanya memiliki dua komitmen. Log saya seperti di bawah ini

git log
commit e515e5b8dcbd8f1ea4a7a7d4a1efb82a1a0aee7a
Author: Olkun Mustafa <[email protected]>
Date:   Fri Oct 3 10:04:20 2014 +0300

    Temp commit

commit 71781bf0a7807351a56d5155dac94169ea700527
Author: Olkun Mustafa <[email protected]>
Date:   Fri Oct 3 10:01:42 2014 +0300

    First Commit

Ketika saya mencoba untuk melakukan rebase ini, saya mendapatkan kesalahan seperti di bawah ini

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

Saya cukup riset di google tetapi saya belum menemukan solusi sampai sekarang.

Olkunmustafa
sumber
2
Hasil apa setelah Anda mencoba mencapai di sini?
Oliver Charlesworth
Apakah Anda mencoba membatalkan komitmen Anda?
mehmetseckin
Kemungkinan duplikat dari Ubah komit pertama proyek dengan Git?
Louis

Jawaban:

187

Dalam kasus Anda, tidak ada HEAD~2, karena Anda hanya memiliki 2 komit, maka Needed a single revisionpesan kesalahan " " akan muncul.
Mencoba:

 git rebase -i --root

lihat lebih lanjut di " Ubah komitmen pertama proyek dengan Git? "

VonC
sumber
1
Terima kasih! Bekerja untuk saya.
YuLong Xiao
1
Saya hanya mendapatkan "fatal: invalid upstream head ~ 2" meskipun saya memiliki empat komit di log. Pesan "revisi tunggal" tidak ditampilkan untuk saya. Namun, ini membuat saya benar! Terima kasih!
Austen Hoogen
7

Ini tidak berlaku untuk kasus Anda, tetapi dapat membantu orang lain. Jika di Linux, pastikan menggunakan HEADhuruf besar. Jika Anda menggunakan huruf kecil headseperti contoh pertama di bawah (karena Anda terbiasa bekerja di Windows atau Mac dan yang mengizinkan huruf kecil head), Anda akan mendapatkan fatal: Needed a single revisionerror!

Atau Anda bisa menggunakan @ sebagai alias untuk HEAD, maka tidak perlu khawatir lupa untuk memanfaatkannya.

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

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

# correct on all
git rebase --interactive @~2
bijak
sumber
Terima kasih banyak! Saya berjuang dengan ini selama beberapa jam dan memanfaatkan HEADperbaikan!
Jinsong Li
1
⁺¹ untuk saran tentang @.
Hi-Angel