programing

기지개를 켜다커밋할 수 없습니다.어떻게 진행하거나 중단합니까?

closeapi 2023. 7. 10. 22:20
반응형

기지개를 켜다커밋할 수 없습니다.어떻게 진행하거나 중단합니까?

실행할 때:

git status

다음이 표시됩니다.

rebase in progress; onto 9c168a5
You are currently rebasing branch 'master' on '9c168a5'.
(all conflicts fixed: run "git rebase --continue")
nothing to commit, working directory clean

내가 할 때:

ls `git rev-parse --git-dir` | grep rebase || echo no rebase

알겠습니다: 리베이스 적용

나는 원산지를 약속할 수 없습니다.

git branch

표시:

* (no branch, rebasing master)
  develop
  master

꼼짝도 안 해요.어떻게 해야 할까요?기지개를 켜는데 정말 이렇게 오래 걸리나요? git rebase --continue아무것도 하지 않습니다.저는 어떤 상태도 가지고 있지 않습니다.저는 기지를 다시 설치하기만을 기다리고 있습니다.내가 뭘 할 수 있을까?

UDATE: 다음의 출력입니다. gitrebase --continue

Applying: no message
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

git add. 아무것도 없습니다.

기본 재배치는 백그라운드에서 발생하지 않습니다.기본 재배치 진행 중은 기본 재배치를 시작했고 충돌로 인해 기본 재배치가 중단되었음을 의미합니다..git rebase --continue()합니다.git rebase --abort).

의 오류 메시지로서git rebase --continue제안합니다. Git에게 빈 패치를 적용하도록 요청했습니다. 것은 가 이미 것을 합니다.git rebase --skip.

한다면git rebase --abort작동하지 않고 여전히 당신은.

오류: '.git/rebase-message/head-name'을(를) 읽을 수 없습니다.해당 파일 또는 디렉터리가 없습니다.

유형:

git rebase --quit
  • 1단계: 계속 진행git rebase --continue

  • 2단계: 충돌을 해결합니다.git add .

  • 1단계로 돌아가서, 이제 다음과 같이 표시됩니다.no changes ..그 다음에 달려라git rebase --skip 11단계로.

  • 하려면 기본실종려경는우하료을행을 합니다.git rebase --abort

  • 되면 실행합니다.git commit -m "rebase complete"그리고 당신은 끝났습니다.


참고: 무슨 일이 일어나고 있는지 모르고 그냥 레포가 있던 곳으로 돌아가고 싶다면 다음을 수행하십시오.

git rebase --abort

rebase에 대해 읽어보기: git-rebase 문서

저는 '기본 상태'에 갇혔고, 저는.

On branch master
Your branch is up to date with 'origin/master'.

You are currently rebasing.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working tree clean

실행 중인git rebase --skip된 출된산error: could not read '.git/rebase-apply/head-name': No such file or directory.

중입니다.rm -fr ".git/rebase-apply"도움이 되었습니다.

참고: 물론 리베이스에 관심이 없거나 더 이상 원하지 않는 이전 리베이스에 고착된 경우에만 이 작업을 수행합니다.

당신은 당신의 저장소에 베이스를 바꾸라고 말했습니다.SHA 을 한 에 SHA 9c168a5를 한 것처럼 .git rebase master또는git pull --rebase master.

분기 마스터의 기본을 해당 커밋으로 변경하는 중입니다.다음을 통해 기본 재배치를 종료할 수 있습니다.git rebase --abort이것은 당신이 베이스를 바꾸기 시작하기 전의 상태로 돌아갈 것입니다.

저는 최근에 이런 상태가 되었습니다.기본 재배치 중 충돌을 해결한 후 실행하는 대신 변경 사항을 커밋했습니다.git rebase --continue이렇게 하면 시스템을 실행할 때 표시된 메시지와 동일한 메시지가 표시됩니다.git status그리고.git rebase --continue명령을 실행합니다.는 실행여문해다니습결했을 실행하여 를 해결했습니다.git rebase --abort그리고 다시 기지를 실행합니다.누군가는 리베이스를 건너뛸 수도 있지만, 나는 그것이 나를 어떤 상태로 남겨둘지 확신할 수 없었습니다.

$ git rebase --continue
Applying: <commit message>
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

$ git status
rebase in progress; onto 4df0775
You are currently rebasing branch '<local-branch-name>' on '4df0775'.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working directory clean

설정했습니다.gita를 기반으로 자동 복구git checkout

# in my ~/.gitconfig file
[branch]
    autosetupmerge = always
    autosetuprebase = always

그렇지 않으면 분기 간에 전환할 때 자동으로 병합되며, 기본값으로 최악의 선택이라고 생각합니다.

하지만 이것은 제가 지점으로 전환했을 때 부작용이 있습니다.git cherry-pick <commit-id>저는 매번 갈등이 있을 마다 이런 이상한 상태에 빠지게 됩니다.

저는 사실 그것을 중단해야 합니다.rebase하지만 먼저 갈등을 해결하고,git add /path/to/file파일(이 경우 충돌을 해결하는 또 다른 매우 이상한 방법은?!)을 수행합니다.git commit -i /path/to/file이제 나는 그것을 중단할 수 있습니다.rebase:

git checkout <other-branch>
git cherry-pick <commit-id>
...edit-conflict(s)...
git add path/to/file
git commit -i path/to/file
git rebase --abort
git commit .
git push --force origin <other-branch>

두번째git commit .낙태에서 나온 것 같습니다.만약 내가 그것을 중단해야 한다는 것을 알게 된다면 나는 내 대답을 고칠 것입니다.rebase좀더 빨리

--force푸시는 다른 커밋을 건너뛰고 두 분기가 모두 원활하지 않은 경우에 필요합니다(둘 다 다른 분기의 커밋이 누락됨).

제 것은 비트버킷에서 발생한 오류입니다.뛰었다git am --skip고쳤습니다.

동일한 문제가 발생했습니다. 이 경우 기본 재배치를 시도할 때 충돌이 발생했으며, 충돌을 모두 해결하고 커밋 메시지를 추가하려고 하면 클라이언트 편집기(VS Code)에 이 오류가 표시됩니다.

enter image description here

하려면 이 . git commit -C HEAD@{1}

  • git commit -C HEAD@{1}은 당신이 를 하기 입니다.

rebase를 , 는 이 를 실행해야 . 해결하려면 이 명령을 실행해야 합니다.rm -rf .git/REBASE_HEAD

  • rm -rf .git/REBASE_HEAD "REBASE_HEAD"에서 "됩니다.

HEAD rebase에서 새로운 지점을 확인했습니다.효과가 있었습니다.

IDE에서 중단 / 건너뛰기 / 계속하기에 대한 다른 옵션

VCS > Git > 기본 재배치 중단

enter image description here

언급URL : https://stackoverflow.com/questions/29902967/rebase-in-progress-cannot-commit-how-to-proceed-or-stop-abort

반응형