내 git 'master'브랜치의 이름을 'release'로 어떻게 바꾸나요?
우리는 프로젝트에 대해 마스터 브랜치를 릴리스 브랜치라고 부르는 새로운 정책을 시행하여 브랜치를 사용하는 방법을보다 명확하게하고 싶습니다. 당연히 후보 브랜치도 개발 및 출시 할 예정입니다.
다음을 사용하여 로컬에서 마스터 브랜치의 이름을 바꿀 수 있음을 이해합니다.
git branch -m master release
그러나 이는 로컬에만 해당됩니다. 이것을 원격으로 밀어도 HEAD는 여전히 원격 마스터 브랜치를 가리 킵니다. 마스터 브랜치를 완전히 제거하고 초기 복제시 기본 로컬 브랜치를 릴리스로 만들고 싶습니다.
이것을 어떻게 할 수 있습니까?
편집 : 원본이 거대한 서버에 있기 때문에 마스터 브랜치를 삭제하는 동안 오류가 발생하는 것 같습니다. 기본 브랜치가 '릴리즈'가되도록이를 변경할 수 있는지 지금 확인하려고합니다.
git checkout -b release master # create and switch to the release branch
git push -u origin release # push the release branch to the remote and track it
git branch -d master # delete local master
git push --delete origin master # delete remote master
git remote prune origin # delete the remote tracking branch
마스터 브랜치 체크 아웃
git checkout master
릴리스 브랜치를 생성하고 전환
git branch release
git checkout release
서버에 푸시
git push origin release
서버에서 마스터 분기 참조 삭제
git push origin :master
로컬 마스터 브랜치 삭제
git branch -d master
이전에 다른 사람들이 언급했듯이 여기서 문제는 Gitorious이며 기본적으로 HEAD-branch를 삭제할 수 없습니다. 이 문제를 해결할 수있는 두 가지 옵션이 있습니다. 하나는 ssh를 사용하여 거대 서버에 로그인하고 파일 서버에서 git-repository를 찾아 다음을 추가하는 것입니다.
[receive]
denyDeleteCurrent = warn
구성에.
더 쉬운 옵션은 기본 분기를 변경하는 것입니다. 거대한 웹 인터페이스의 저장소로 이동하여 "저장소 편집"을 누르고 "Head Change the symbolic ref the HEAD in the git repository points :"를 설정합니다. 이 작업을 마치면 마스터 브랜치를 삭제할 수 있습니다.
참고 :이 답변은 명령 줄 액세스 권한이있는 자체 호스팅 git 서버를위한 것입니다.
remote master
클라이언트에서 를 삭제하려는 것은 실제로 허용되지 않으며 금지 denyDeleteCurrent
가 의미 가 있다고 가정 하므로 해당 설정을 변경하고 싶지 않습니다.
그러나 원격 서버에 대한 명령 줄 액세스 권한이있는 경우 마스터 이름을 변경 하는 가장 쉬운 방법 은 원격에서 직접 rename 명령을 실행하는 것입니다.
이것은 나를 위해 일했습니다.
- SSH를 통해 원격 git 서버에 로그인
- 프로젝트의 xxx.git 폴더로 이동하십시오.
- 운영:
git branch -m master release
이제 원격 저장소는 release
기본 브랜치로 사용하고 git clone
해당 저장소의 모든 클라이언트는 기본적으로 릴리스 브랜치를 체크 아웃합니다.
필요에 따라 구성하기 위해 베어 저장소를 설정 한 후에도 매우 유용합니다.
이상적으로 추적을 설정하려면 다음과 같이하십시오.
git push origin HEAD:release
git checkout --track origin/release
이제 다른 항목을 삭제 하시겠습니까?
git branch -d master
git push origin :master
단순한!
참고 URL : https://stackoverflow.com/questions/8762601/how-do-i-rename-my-git-master-branch-to-release
'Nice programing' 카테고리의 다른 글
AngularJS에서 격리 된 범위 지시문을 단위 테스트하는 방법 (0) | 2020.10.05 |
---|---|
Chrome이 로컬 jQuery 쿠키를 무시하는 이유는 무엇입니까? (0) | 2020.10.05 |
Gradle을 사용하여 aar 라이브러리에 대한 전이 종속성이 해결되지 않았습니다. (0) | 2020.10.05 |
새로운 랜덤 라이브러리가 std :: rand ()보다 나은 이유는 무엇입니까? (0) | 2020.10.05 |
C 컴파일 오류 : "변수 크기의 개체를 초기화 할 수 없습니다." (0) | 2020.10.05 |