IT

Gitrebase 치명적:단일 수정본 필요함

itgroup 2023. 6. 27. 22:05
반응형

Gitrebase 치명적:단일 수정본 필요함

공용 리포지토리의 분기가 있는데 원래 리포지토리의 현재 커밋으로 분기를 업데이트하려고 합니다.

$ git fetch <remote>
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 20 (delta 12), reused 0 (delta 0)
Unpacking objects: 100% (20/20), done.
From git://github.com/path_to/repo
  9b70165..22127d0  master     -> $/master
$ git rebase <remote>
fatal: Needed a single revision
invalid upstream <remote>

<remote>원격 이름 대신 사용할 수 있으며 실제로는 원격 이름이 아닙니다.이 오류에 대한 설명서가 약간 느슨한 것 같습니다.

원격의 이름이 아닌 분기 이름(또는 다른 커밋 식별자)을 제공해야 합니다.git rebase.

예:

git rebase origin/master

아님:

git rebase origin

참고, 하지만origin심판에게 해결되어야 합니다.origin/HEAD커밋 참조가 필요한 인수로 사용할 경우 모든 리포지토리가 이러한 참조를 얻는 것은 아니므로 작동하지 않을 수 있습니다(및 사용자의 경우 작동하지 않을 수 있습니다.명시적으로 말하는 것이 이득입니다.

분기 이름의 철자가 올바른지 확인합니다.저는 이야기의 분기를 다시 기초하고 있었습니다.branch_name) 그리고 이야기 부분을 잊어버렸습니다. (즉,story/branch_name) 그리고는 이런 맥락에서 말이 되지 않는 오류를 저에게 뱉었습니다.

마주쳤습니다fatal: Needed a single revision기지를 다시 설치하기 전에 상류 쪽으로 가지 않았다는 걸 깨달았어요제가 필요한 것은git fetch upstream첫번째.

문제는 당신이 ...에서 분기했다는 것입니다.당신이 근거지를 바꾸려는 곳.현재 분기가 원래 생성된 커밋이 포함되지 않은 분기는 기본값을 변경할 수 없습니다.

처음에 로컬 분기 X를 푸시된 Y로 리베이스한 다음, (X에서 처음 생성된) 브랜치를 푸시된 Y로 리베이스하려고 했을 때 이 정보를 얻었습니다.

X로 리베이스하면 해결됩니다.

현재 분기가 해당 분기의 상위 항목에서 파생된 경우 원격 분기(체크아웃되지 않은 경우도 있음)에 대한 기본 재배치에 문제가 없습니다.

이 오류는 리포지토리에 원격에 대한 기본 분기가 설정되어 있지 않은 경우에 발생합니다.사용할 수 있습니다.git remote set-head명령을 사용하여 기본 분기를 수정하므로 해당 원격에서 지정된 분기 대신 원격 이름을 사용할 수 있습니다.

원격을 쿼리하려면(이 경우origin) 때문에HEAD(일반적으로)master)에서 기본 분기로 설정합니다.

$ git remote set-head origin --auto

로컬에서 다른 기본 원격 분기를 사용하려는 경우 해당 분기를 지정할 수 있습니다.

$ git remote set-head origin new-default

기본 분기가 설정되면 에서 원격 이름만 사용할 수 있습니다.git rebase <remote>명시적인 명령 대신 기타 명령어를 사용합니다.<remote>/<branch>.

백그라운드에서 이 명령은 참조를 업데이트합니다..git/refs/remotes/origin/HEAD.

$ cat .git/refs/remotes/origin/HEAD 
ref: refs/remotes/origin/master

자세한 내용은 git-remote man 페이지를 참조하십시오.

저는 분기를 지정하는 것이 도움이 됩니다.

  1 [submodule "test/gtest"]
  2     path = test/gtest
  3     url = ssh://git@git.github.com/google/googletest.git
  4     branch = main

git submodule deinit --all -f저를 위해 일했습니다.

gitrebase 업스트림/마스터

치명적: 단일 수정이 필요함

잘못된 업스트림 업스트림/마스터**

그래서 는 $gitrebase remote/upstream/master를 사용해 보았는데 제게 도움이 됩니다.

언급URL : https://stackoverflow.com/questions/4798080/git-rebase-fatal-needed-a-single-revision

반응형