Git:単一のリビジョンエラーが必要


100

プロジェクトで新しいgitを初期化しましたが、これまでのところ2つのコミットしかありません。私のログは以下のようです

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

私はグーグルでかなり研究していますが、今まで解決策を見つけていません。


2
ここで達成しようとした後の結果は?
Oliver Charlesworth 2014年

コミットを取り消そうとしていますか?
mehmetseckin 2014年

回答:


186

あなたの場合、HEAD~2コミットは2つしかないため、「Needed a single revision」エラーメッセージはありません。
試してください:

 git rebase -i --root

詳細については、「Gitを使用してプロジェクトの最初のコミットを変更しますか?


1
ありがとう!私のために働く。
YuLong Xiao

1
ログに4つのコミットがあったにもかかわらず、「致命的:無効な上流ヘッド2」のみを取得していました。「単一リビジョン」というメッセージが表示されませんでした。しかし、これで直ってしまいました!ありがとう!
オースティンHoogen

7

これはあなたのケースには当てはまりませんが、他の人を助けるかもしれません。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李

1
onのアドバイス@
Hi-Angel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.