2011-05-16 2 views
10

'git pull'을 수행 할 때마다 계속해서 대문자로 '재창조'되는 git 브랜치가 있습니다. 다음git 브랜치가 지속적으로 다시 만들어지고 있습니다.

* [new branch]  a  -> origin/a 

그리고 다음 '자식 풀'이 생성됩니다 :

분기 이름을 가정하면 라인을 생성합니다 'A'(내가 아는 모든 또는 'A'), 하나의 '자식 풀'이다
* [new branch]  A  -> origin/A 

이것은 결코 멈추지 않습니다. 나는 다른 누군가가 그것을 창조 한 것처럼 어떻게 가지가 만들어 졌는지 (또는 그것이 무엇을위한 것인지) 모른다.

어떻게이 분기를 길들이고이 작업을 중단합니까?

+1

이 브랜치 (또는 브랜치)는'git ls-remote origin '의 출력에 나타 납니까? – Cascabel

+0

무언가에 타격을 입은 것 같습니다. 이 리스팅에는 실제로 두 개의 지점이 있습니다. 하나는 refs/head/a이고 다른 하나는 refs/head/A입니다. 이 말은 누군가가 눈치 채지 않고 다른 경우를 가진 두 가지 가지를 만들었다는 것을 의미한다고 가정합니다. – acoward

답변

7

의견에서 언급했듯이 refs/heads/Arefs/heads/a이 원격 위치에 있습니다. 그것은 두 개의 뚜렷한 가지가 존재한다는 것을 의미합니다. (Git 자체는 대다수의 비 Windows 파일 시스템과 마찬가지로 대소 문자를 구별합니다.)

그러나 Windows를 사용하고 있다면이 문제를 설명 할 수 있습니다. 심판은 심판마다 하나씩 개별 파일로 만들어집니다. 힘내라 원격에서 볼 수 있지만 로컬로 업데이트하려고하면 하나만 존재하므로 다른 하나는 항상 만들어집니다. 두 조작의 내부 순서는 새로 작성된 조작이 다른 조작을 겹쳐 쓰면서 교대로 이어지는 것과 같아야합니다. 심판이 커밋 같은 가리키는 경우

는 다음 솔루션은 리모콘 중 하나를 삭제하는 것입니다 :

git push origin :refs/heads/A 
+0

이것은 Mac OS X에서도 발생할 수 있습니다 (재현 한 것입니다). 해결 방법이 있습니다 (분기 중 하나를 삭제하거나 이름을 바꿀 수없는 경우) : * Disk Utility *를 사용하여 "Mac 대용 소문자 구분 리포지토리를 복제하기 전에 새로운 볼륨에 "OS 확장 (대소 문자가 구분 된, 저널링 된)"파일 시스템 (** 파일 **> ** 새 ** ** ** 빈 디스크 이미지 ... **) 및'cd ' . –

1

[새 분기]를 항상 얻으므로 origin/a 및 origin/A가 로컬로 삭제 된 것 같습니다. 누군가 또는 누군가가이 참조를 삭제하면, 원격지에서 가져올 (또는 가져올 때마다)이 분기를 얻게됩니다. 저장소를 복제하려고 시도 했습니까? 당신은이 문제가있는 유일한 사람입니까?

+0

나는이 문제가있는 유일한 사람이 아니다. 나는 팀의 다른 누군가가이 문제를 가지고 있었고 재 복제가 그것을 고칠 수있을 때 이것을 처음 접하게되었습니다. 그들이 복제를 시도하고 사라 졌는지 확실하지 않습니다. 내가 찾아 낼 것이다. 이제 나는 같은 문제가있다. 나는 로컬 repo에서 아무 일도 일어나지 않을 때마다 이것이 발생하기 때문에 삭제가 로컬에서 일어나고 있다고 생각하지 않습니다. 나는 'git pull'을 즉시 수행 할 수 있으며 이것은 여전히 ​​매번 발생합니다. – acoward

+0

당기시겠습니까? – ralphtheninja

+0

전 신참이에요. 나는 자식을 낳는 방법을 모르기 때문에 내가 그 (것)들을 갖지 못한다고 생각한다. 맞습니까? – acoward

1

난 그냥이 문제가 발생했습니다. 제 경우에는 브랜치 이름 중 하나가 다른 브랜치에서 직접 내려 왔기 때문에 리모컨에서 이전 브랜치를 지우지 않았습니다. 아무 가치도 없었기 때문입니다.

git push origin :a 

페치의 몇 다른 사람이 다시 밀어 때까지 문제는 (사라 : 삭제 분기를 가정하는 것은 "A"이며,이 명령은 (이름이 "기원") 원격에서 제거됩니다. ..)

관련 문제