Git : 단일 수정 오류가 필요함


101

내 프로젝트에서 새 자식을 초기화했으며 지금까지 커밋이 두 개뿐입니다. 내 로그는 다음과 같습니다.

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

커밋을 취소하려고합니까?
mehmetseckin 2014 년

답변:


187

귀하의 경우에는 HEAD~2커밋이 2 개뿐이므로 " Needed a single revision"오류 메시지가 표시됩니다.
시험:

 git rebase -i --root

" Git을 사용하여 프로젝트의 첫 번째 커밋을 변경 하시겠습니까? " 에서 자세한 내용을 참조하십시오.


1
감사! 나를 위해 작동합니다.
YuLong Xiao

1
로그에 4 개의 커밋이 있음에도 불구하고 "치명적 : 유효하지 않은 업스트림 헤드 ~ 2"만 표시되었습니다. "단일 개정"메시지가 표시되지 않았습니다. 그러나 이것은 나를 바로 잡았습니다! 감사!
Austen 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 Li

1
에 대한 조언은 ⁺¹입니다 @.
Hi-Angel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.