답변:
Git에서 브랜치는 명령 된 커밋 목록 (일명 : 체크인)입니다. 새로운 사용자에게는 약간 혼란 스러울 수있는 것은 브랜치에 이름이 필요하지 않다는 것입니다 (대부분의 상황에서 원하는 이름이 필요합니다). 특정 브랜치에는 특별한 것이 없습니다 ( master
브랜치는 리포지토리를 초기화 할 때 생성되는 기본 브랜치입니다).
당신은 아마 이것을 이미 알고 있지만, Git은 인기있는 "Subversion"과 같은 다른 버전 제어 시스템과는 다릅니다. 왜냐하면 모든 "작업 카피"(Subversion 언어)는 그 자체의 저장소이기 때문입니다. 사실, 특별히 아무것도 없습니다. 특정 사본에 대한 특별; 단 하나의 사본이 일반적으로 최종 제품을 저장하는 데 사용되는 "정식"사본으로 합의 된 경우를 제외하고.
따라서 귀하의 질문으로 돌아 가면 로컬 복사본을 시작할 때 복제 한 "표준"저장소에는 기본적으로 "마스터"분기가 포함되어 있습니다. 그리고 그것은 붙어 있습니다. 이제 마스터 리포지토리가 포함 된 컴퓨터에 액세스 한 경우 로그인하여 실행할 수 있습니다.
git branch -d master
그러나이를 수행 할 수없는 경우 여전히 로컬 시스템에서 수행 할 수 있습니다. 이 git branch
명령에는 -r
원격 저장소에 영향을주는 옵션이 있습니다. 즉, 다음 명령을 실행하면 작동합니다.
git branch -d -r master
두 경우 모두에 유의하십시오. master
귀하의 지역 사본이 현재 위치한 개발 기록에 완전히 통합 되었다고 가정합니다 . master
이전에 사용한 적이없는 경우 (예 : development
또는에 체크인 한 적이 있음 production
) 걱정할 필요가 없습니다. 그러나 귀하 (또는 다른 사람)가의 정보를 체크인 master
한 경우 문제가있을 수 있습니다. 당신은을 변경하여 삭제를 강제 -d
로 -D
위의 명령에; 그러나 master
미리 무엇이 있는지 확인하는 것이 좋습니다 . 원격 컴퓨터에 액세스 할 수 없으면 원격 컴퓨터를 복구 할 수 없습니다!
그건 그렇고; Git을 처음 접하는 사람이라면 John Wiegley의 Bottom Up에서 Git을 읽는 것이 좋습니다 . 이 기사를 찾기 전에 Git을 조금만 사용해 보았지만 읽을 때까지 어떻게 작동했는지 이해하지 못했습니다. 매우 유용합니다!
master
git의 기본 분기입니다. git이 마스터로부터 얼마나 떨어져 있는지 알려 주면 왜 그렇게 끔찍한 지 모르겠지만 원격 저장소에서 분기를 삭제하려면 로컬로 삭제하는 것만으로는 충분하지 않습니다. 대신 이것을 시도하십시오 :
git push origin :master
이렇게하면 (콜론 앞 부분) 아무것도 오리진 서버에 푸시하고 마스터를 덮어 쓰지 않습니다. 즉, 마스터 분기를 원격으로 삭제해야합니다.
git branch -d -r master
더 이상 원격 브랜치를 삭제하지 않습니다. 원격 브랜치에 대한 로컬 사본의 지식을 삭제합니다. 다음 번git fetch
에 지점이 돌아옵니다! 대신을 실행하고 싶을 것git push origin :master
입니다. 기본적으로 여기서 수행하는 작업:
은 원격 브랜치 (:
.