2016-06-26 4 views
24

Bitbucket 또는 Github에서 내 repos를 마이그레이션했습니다. 내가 설정이 리모트가 있었을 때 조금 들어 ... 나는이 문제를 생각하지 않지만 서로 다른 유일한 것이다 : 원격 지점으로 푸시 할 수 없으며 분기로 해결할 수 없습니다

origin: bitbucket 
github: github 

은 그럼 모두 뾰족한 원인을 제거하는 GitHub의 :

git remote remove origin 
git remote remove github 
git remote add origin https://github.... 

개발 분점의 테스트 푸시 :

git push origin develop 

모두 최신입니다.

평소에 따라 몇 가지 작업을위한 새로운 지점을 만듭니다

git checkout -b Feature/Name 

업데이트 파일 또는 두. 이것은 오류가 발생

git push origin Feature/Name 

을 : 원격으로 밀어 시도,이 문제에 대한 온라인

fatal: Feature/Name cannot be resolved to branch

검색 내가있어 확인하고 대한 HEAD가 올바른지 다른 보장에 대한 몇 가지 물건을 찾아 내 지점 이름 대소 문자가 맞습니다 (그러나이 지점에서 지점은 아직 원격 지점에 존재하지 않습니다). 해결할 수 없습니다.

이 명령 란 :

git push --all -u 

이 github에 내 Feature/Name 지점을 가지고,하지만 여전히 이전과 같은 동일한 동작을 참조하십시오

git push origin develop 
git push origin Feature/Name 

첫 번째 작품, 두 번째는 같은 오류가 발생합니다.

왜이 오류가 발생하는지 알 수 없습니다. 어떤 아이디어?

+0

'지형지 물/이름'을 만들었을 때 어떤 지회였습니까? 당신은 확실한가?'Feature/Name'이 존재하고 그것이 체크 아웃 된 지점입니까? 'git branch'로 확인하십시오. – Schwern

+0

@Schwern - 개발, 테스트 및 마스터라는 세 가지 분기 만 (로컬 및 원격) 존재했습니다. 일단 지사를 정리하고 병합하여 개발하면 로컬로 삭제됩니다 (적용 가능한 경우 원격으로 삭제).나는 내 3 명 밖에 없다고 확신한다. 나는 프로젝트를 잠시 열어 본 적이 없다. 내가했던 첫 번째 일은 수표로하고, 느슨한 가지가 없는지 확인하는 것이다. – jleach

+0

'Feature/Name'이 로컬에 존재하는지 확인하기 위해'git branch'를 실행했다는 뜻입니까? GUI 또는 IDE를 신뢰하지 마십시오. 또한, 당신은 사건을 바로 잡았습니까? – Schwern

답변

52

나는이 문제도 가지고 있었고, 그것은 나를 미치게했습니다. 나는 feature/name와 같은 것을 가지고 있었지만, git branch -a은 나를 FEATURE/name으로 보였다. 분기 이름 바꾸기, 삭제 및 다시 작성, 아무 효과가 없습니다. 마침내 그것을 고정 무엇 :

이동을 .git/refs/heads

에 당신은 FEATURE 폴더를 볼 수 있습니다. 이름을 feature으로 바꿉니다.

+1

이것이 저에게 맞는 답이었습니다. 창에서 gitbash를 사용하고 feature/some-feature와 Feature/some-feature를 만들었습니다. –

+0

정답으로 표시해야합니다. 도와 줬어. 감사! – GuiDoody

+1

나는이 대답을 당신에게 빚지고있다! : D – user3797599

17

내 자신의 테스트와 the OP's comments을 기반으로, 나는 지점 이름의 대소 문자에 대해 어느정도 생각해 보았다.

먼저 OP는 OS X 또는 Windows와 같이 대소 문자를 구분하지 않는 운영 체제에 있다고 생각합니다. 그런 다음 그들은 이런 것을했습니다 ...

$ git checkout -b SQLMigration/ReportFixes 
Switched to a new branch 'SQLMigration/ReportFixes' 

$ git push origin SqlMigration/ReportFixes 
fatal: SqlMigration/ReportFixes cannot be resolved to branch. 

케이스 차이점에 유의하십시오. 또한 오류는 이름을 입력하는 것과 매우 다릅니다. Github에서이 지점 이름을 저장하는 파일 시스템을 사용하기 때문에

$ git push origin SQLMigration/ReportFixme 
error: src refspec SQLMigration/ReportFixme does not match any. 
error: failed to push some refs to '[email protected]:schwern/testing123.git' 

, 그것은 .git/refs/heads/SqlMigration/ReportFixes을 열려고합니다. 파일 시스템은 대소 문자를 구별하지 않으므로 성공적으로 .git/refs/heads/SqlMigration/ReportFixes을 열지 만 분기 이름을 대소 문자를 비교하려고 시도 할 때 혼동을 일으키며 일치하지 않습니다.

로컬 브랜치가 SQLMigration/ReportFixes이고 원격 브랜치가 SqlMigration/ReportFixes 인 상태로 들어간 방법이 확실하지 않습니다. 나는 Github이 원격 지점 이름을 망쳐 놓은 것을 믿지 않는다. 가장 간단한 설명은 푸시 액세스 권한이있는 다른 사람이 원격 지점 이름을 변경 한 것입니다. 그렇지 않으면 어떤 시점에서 그들은 오타가있는 리모콘을 만들 수있는 무언가를했습니다.그들이 쉘 이력을 확인하면 아마도 history | grep -i sqlmigration/reportfixes으로 케이싱을 잘못 입력 한 명령을 찾을 수 있습니다.

+0

OS X에서 브랜치 이름의 문자를 대소 문자로 변경했을 때이 문제가 발생했습니다. 다시 변경하면 문제가 해결되었습니다. –

+0

이것은 이전 분기가 있는데, 예를 들어 AM-xxx/some_branch를 작성한 다음 다른 AM-XXX/another_branch를 작성할 때 발생할 수 있습니다. git은 다른 경우를 로컬에서 허용하고 두 원격을 페어하지 못합니다. – timpwbaker

1

아마도 git fetch를 실행하는 것을 잊었을까요? 원격 저장소에서 데이터를 가져와야합니다. 실행 해 봅시다 git fetch remote/branch

3

힘내 기는 다른 케이스로 현재 지점을 계산할 수있게하고, 원격지에서 심판을 찾지 못합니다.

그냥 어려운 방법을 발견했습니다.

1

내 경우에는 대문자로 분기 폴더 (또는 무엇이든간에)를 사용하고 차이점 (소문자)이있는 새 폴더를 만들었지 만 실제로 git는 대문자가있는 분기를 만듭니다.

나는 전에 feature-ABC/branch1과 같은 가지를 만들고 밀어 냈습니다. 그런 다음 지점 feature-abc/branch2 (소문자 ABC 통지)을 만들고 git push --set-upstream origin feature-abc/branch2을 사용하여 원격에 푸시하고 '분기로 해결할 수 없습니다.'오류가 발생합니다. 그래서 나는 git branch을보고 feature-abc/branch1 대신 실제로 feature-ABC/branch2을 생성했는지 확인하십시오. 다시 git checkout feature-ABC/feature2으로 결제 한 다음 대문자 (feature-ABC/feature2)를 사용하여 푸시하여 해결합니다.

2

비슷한 일이 내게 일어났습니다. 필자는 "Feat/name"과 같은 지점을 만들었습니다. 나는하려 사용하여 밀어 : 나는 당신과 같은 치명적인 오류가 발생했습니다

git push --set-upstream origin Feat/name

:

fatal: Feat/name cannot be resolved to branch

내가 영향을 거의 파일을 가지고로서 내가 새로운 지점을 만들어 그것을 해결하기 위해. 그럼 내가 잘못 하나를 삭제하는 내 지점을 나열이없는 캡으로 표시 :

  • 위업/이름

내가 전에 그러나 결코 처음 caracter에 캡을 사용했다. 그것은 자식처럼 보이지 않는 것 같습니다 ...

+0

나는 똑같은 경우를 가졌습니다 THX : D – abdoutelb

0

당신은 유사한 지점 만을 만든 수있는 다른 대소 문자를 구분 현명한, 다음 실행해야합니다 :

git branch -D <name-of-different-case-branch>

을 한 후 다시 추진하려고합니다.

관련 문제