2

내가 할 때 나는 다음과 같은 출력을 얻을을 삭제 :이 어떻게 망할 놈의 충돌 지점

git branch 
somebranch 
anotherbranch 
* master 
master - [email protected]'s conflict 09.04.2016_15.02.31 

그래서 결국에 충돌하는 지점은 무엇인가? 어떻게 체크 아웃해야하는지, 어떻게되어 있는지, 어떻게 삭제하는지 (궁극적으로 내가하고 싶은 부분) 어떻게되는지 모르겠습니다.

P. 이것은 얼마 전에 일어났습니다. 어떻게 지금 당황했는지 기억합니다. 나는 그것을 놓고 갔다. 그러나 나는 그것을 고치기 위해 나를 괴롭 히고있다.

업데이트 : Torek의 대답이 도움이되었습니다. 파일 .git/packed-refs을 찾을 수 없습니다. 나는 디렉토리 .git/refs/heads을 발견하고 거기에 원치 않는 파일/지부를 삭제했습니다. 그걸 수정 한 것 같습니다.

re : 내가 사용중인 편집기는 Atom (github에서 가져온 것)이며 편집기에서 git 명령을 수행하는 패키지를 설치했습니다. 나는 그 패키지가 충돌 분기를 만들었다 고 생각한다.

+0

당신은'자식 상태의 출력을 표시 할 수 있습니다 '? –

+0

흥미 롭다 -'ls .git/refs/heads'는 무엇을 보여줄까요? – 1615903

+0

자식 상태 표시 : '분기 마스터 지점이 'origin/master'로 최신 상태입니다. 아무것도 보여 디렉토리 clean'에게 – Cyrus

답변

2

Git 지점 이름에서 공백은 유효한 문자가 아닙니다.

즉, 그 자체 인이 해당 브랜치를 만든 경우 Git에서 버그를 발견했습니다. (축하합니다!)하지만, Git보다 잘 알고 있다고 생각한 잘못 행동 한 프로그램, Git의 뒤에서 몰래 숨어서 그 지점을 만들었을 가능성이 높습니다 ... 그리고 Git 지점에서 공간이 법적 특성이 아니기 때문에 몰래 들어가야 할 수도 있습니다 그것을 지우려면 힘내의 뒤에서.

을 수행하려면은 BOM (바이트 순서 표시)을 삽입하지 않고 일반 텍스트 파일을 유니 코드로 변환하지 않는 텍스트 편집기를 사용하여 .git/packed-refs을 편집하십시오. 거기에 가짜 분기 이름이있는 행이 있으면 해당 행을 삭제하거나 이름을 더 적합한 이름으로 수정하고 파일을 작성하십시오. 완료되면 편집기를 종료하십시오. 그런 다음 해당 이름이 포함 된 .git/refs/heads의 파일 (포함 된 공백 포함)을 확인하십시오. 공백이 있으면 해당 이름을 제거하거나 이름을 더 적절하게 바꿉니다.

위조 된 브랜치 이름은 최소한 하나의 장소에 존재해야하며, 그렇지 않으면 두 장소에 존재해야합니다. 그렇지 않으면 자식은 브랜치 이름으로 그것을 찾지 않을 것입니다.

동일한 가짜 이름을 사용하는 .git/logs/refs/heads/에 파일이있을 수도 있습니다. 그렇다면 해당 파일은 동일한 처리 (제거 또는 이름 변경)를 받아야합니다.

합니다 (.git 디렉토리 작업 트리의 최상위 수준에 표시합니다. git rev-parse --git-dir 당신이 하위 디렉토리에있는 경우에도, 그 경로를 표시합니다.)

+0

[email protected]'s 충돌 '.git/packed-refs '. 나는'.git/refs/heads' 디렉토리를 찾고 거기에있는 원하지 않는 파일/브랜치를 삭제했다. 그걸 수정 한 것 같습니다. re : 내가 사용하고있는 편집기는 Atom (github에서)이고 편집기에서 git 명령을 수행하는 패키지를 설치했습니다. 나는 그 패키지가 충돌 분기를 만들었다 고 생각한다. – Cyrus

+0

압축 된 ref 파일이 존재하지 않아도됩니다. 압축 된 ref가 없다는 것을 의미하므로 완료되었습니다.Re 원자, 나는 그것을 직접 사용하지는 못했지만 일반 텍스트 파일을 엉망으로 만들지 않고 편집 할 수있는 것 같습니다. (Mac에서는 TextEdit도 가능하지만 머리를 계속 두들겨 야합니다. 심지어는 vim도 파일을 자동 변환하지 않습니다. :-) 정말 나쁜 경우는 일반 텍스트를 부자로 대체하는 편집자입니다. - 무언가없는 BOM을 추가하거나 추가하십시오.) – torek