2012-03-01 2 views
2

빈 저장소를 복제했습니다. 나는 빈 마스터 브랜치가있다. dev 브랜치로 분기하여 개발 코드를 시작해야합니다. 나중에 나는 안정적인 코드를 유지하기 위해 마스터 브랜치는 필요 없지만 안정적인 브랜치는 필요하지 않을 수도있다.빈 마스터 브랜치에서 분기하는 방법

git branch dev를 사용하면 치명적입니다 : 유효한 개체 'master'가 아닙니다.

그러나 내가 마스터 내부에서 파일을 커밋하면 분기 할 수 있습니다.

+1

hm? 이미 마스터를 가지고있을 때 안정적인 코드를 유지하기 위해 dev 브랜치를 만드는 이유는 무엇입니까? 불안정한 코드를 도입 할 것으로 예상된다면 분기 할 시간이되지 않을 것이며, 작동이 끝나면 마스터로 다시 병합 할 것입니까? – thescientist

+0

'stable'브랜치는 안정적인 코드 용이고 'dev'는 개발 용입니다. stable도 'master'가 될 수 있습니다. – aeonsleo

+0

브랜치를 가지려면 적어도 하나의 커밋이 있어야합니다. 그런 다음 커밋을 통해 마스터 브랜치를 만듭니다. – jweyrich

답변

2

git을 사용하려면 적어도 하나의 커밋이 필요하다. 그러면 커밋을 통해 마스터 브랜치가 생성된다. 당신이해야합니다,

당신은 나중에 master을 삭제하려는 경우, 당신은 이미 여러 지점을 가지고 : 이렇게

git checkout your_chosen_branch 
git branch -D master 

HEAD 참조 your_chosen_branch를 가리 키도록 업데이트됩니다. 그렇지 않으면 수동으로 수행해야합니다 :

git symbolic-ref HEAD refs/heads/your_chosen_branch 
0

오직 하나의 커밋 만 있으면 더미 파일 (readme 또는 더 나은 파일 (.gitignore) 일 수 있음)을 만들어 첫 번째 커밋 한 다음 분기합니다.

(당신은 몇 가지 원칙을 따르고 dev 브랜치 및 모든 것을 생성하는 것과 같이 엄격하게 생각하고 싶습니다. 제 충고는 과용하지 않으며 사물에 유연합니다 :).)

0

을 당신이 정말로 정말는 "마스터"지점을 원하지 않는 경우, 당신은 "마스터를 대체 .git 디렉토리로 이동하여 HEAD 파일을 편집 할 수 있습니다 "당신이 선택한 이름으로.

복제 된 빈 저장소의 경우 복제하기 전에 베어 레보에서 수행하고 싶을 것입니다. (당신이 궁금해하는 경우를 위해 : 예, 나는 이것을해야만했습니다.)

관련 문제