Git의 마스터 브랜치를 다른 브랜치에서 완전히 대체하려면 어떻게 해야 하나요?
Git 저장소에는 다음 두 개의 브랜치가 있습니다.
masterseotweaks(원래 작성원master)
작성했습니다.seotweaks그것을 재빨리 다시 합칠 생각으로master단, 그것은 3개월 전의 것으로, 이 브랜치내의 코드는, 다음의 13 버전입니다.master.
모든 코드와 마찬가지로 사실상 델의 작업 마스터 브랜치가 되었습니다.master지금은 거의 구식이 되었다.
아주 나쁜 습관인 걸 알아, 교훈을 얻었지.
이 모든 내용을 대체하려면 어떻게 해야 하는지 아세요?master에 종사하는 사람들과 분기하다seotweaks?
에 있는 모든 것을 삭제할 수 있습니다.master통합은 하지만 이는 베스트 프랙티스가 아닌 것 같습니다.
마스터를 다음과 같이 seotweak으로 덮어쓰려면 "당사의" 병합 전략을 사용할 수 있어야 합니다.
git checkout master
git pull
git checkout seotweaks
git merge -s ours master
git checkout master
git merge seotweaks
처음 두 단계는 마스터의 로컬 복사본을 최신 상태로 유지하는 데 유용한 예방 조치입니다.그 결과, 당신의 주인은 이제 근본적으로 뱃멀미를 하게 될 것입니다.
(-s ours의 줄임말이다--strategy=ours)
'당사' 전략에 대한 문서:
이렇게 하면 임의의 수의 헤드가 해결되지만 Marge의 결과 트리는 항상 현재 브런치헤드의 트리가 되어 다른 브런치로부터의 변경은 모두 실질적으로 무시됩니다.이는 곁가지의 오래된 개발 이력을 대체하기 위해 사용됩니다.이것은 -Xours 옵션과 재귀 병합 전략과는 다릅니다.
코멘트에서 갱신:치명적일 경우:refusing to merge unrelated histories두 번째 행을 다음과 같이 변경합니다.git merge --allow-unrelated-histories -s ours master
git branch - m을 사용하여 마스터 브랜치를 다른 브랜치로 변경하고 seotweaks 브랜치를 마스터 브랜치로 변경하는 것은 어떻습니까?다음과 같은 경우:
git branch -m master old-master
git branch -m seotweaks master
git push -f origin master
오리진 마스터에서 커밋이 제거될 수 있습니다. 실행하기 전에 오리진 마스터를 확인하십시오.git push -f origin master.
리모트로 마스터의 이름을 변경하거나 삭제할 수 있지만, 많은 사용자가 리모트 마스터 브랜치를 기반으로 작업을 하고 로컬 리포에서 해당 브랜치를 풀한 경우 문제가 됩니다.
여기에서는 그렇지 않을 수도 있어요.다들 지점에서 일하고 있는 것 같으니까.seotweaks'.
이 경우 다음 작업을 수행할 수 있습니다.
git remote --show가 동작하지 않을 수 있습니다.(를 사용하여 로컬리포 내에서 리모트가 어떻게 선언되어 있는지 확인합니다.'라고 가정하겠습니다.origin ' )
(GitHub에 대해 house9 코멘트: "한 단계를 더 진행해야 했습니다.Admin에서 '을 클릭하여 'GitHub을 설정합니다.Default Branch에서 '보다가 다른 것master', ', then put it back afterwards")'그 후 다시 붙여주세요')
git branch -m master master-old # rename master on local
git push origin :master # delete master on remote
git push origin master-old # create master-old on remote
git checkout -b master seotweaks # create a new local master on top of seotweaks
git push origin master # create master on remote
하지만 다시 한 번:
- 원격에서 마스터를 삭제하려고 하면, 그들은 pulls will 마 if 삭 사 실 가 은 풀 는 하, is자 fail 려 패 try users remote용면 on master
no such ref on remote")") - 언 언제?
master원격에서 다시 다시 다시 다시 다시 생성하려고 합니다. 작 로 지 도 은 를 will시, is다머 that on remote새 to attempt recreated new pull풀니 a재합운어 merge되성master그들의 지역(, ) )현컬 on에 old오 local ()된 their서래는재now)master: 많은 갈등은 다음과 같습니다. 경합이 많다. 그들은 필요한 이 있다.reset --hardthe the 의 로컬 마스터remote/master의 브랜치, 현재의 브랜치 .master.
업데이트/주 2022:
git branch -m main main-old # rename main on local
git push origin :main # delete main on remote
git push origin main-old # create main-old on remote
git switch -c main seotweaks # create a new local main on top of seotweaks
git push origin main # create main on remote
★★seotweaks원래 브런치로서 작성되었습니다.master하다단, 지점 중 하나가 실제 지점과 다른 경우master 예요.master지금까지 작업해 온 새로운 브랜치를 지지하는 브랜치에서는, 다음과 같은 작업을 실시할 수 있습니다.
git push [-f] origin seotweaks:master
이것은, 다음의 에러가 발생했을 경우에 특히 도움이 됩니다.
! [remote rejected] master (deletion of the current branch prohibited)
또한 GitHub를 사용하지 않고 "관리" 탭에 액세스하여 원격 저장소의 기본 분기를 변경할 수 없습니다.또한 마스터를 삭제하여 발생할 수 있는 다운타임이나 레이스 상태는 발생하지 않습니다.
git push origin :master
이것이 최선의 방법이라는 것을 알았습니다(서버에서 삭제를 허가하지 않는 문제가 있었습니다).
「」를 하는 서버.origin리포지토리 내의 디렉토리에서 다음을 입력합니다.
git config receive.denyDeleteCurrent ignore
워크스테이션:
git branch -m master vabandoned # Rename master on local
git branch -m newBranch master # Locally rename branch newBranch to master
git push origin :master # Delete the remote's master
git push origin master:refs/heads/master # Push the new master to the remote
git push origin abandoned:refs/heads/abandoned # Push the old master to the remote
를 origin★★★★★★★★★★★★★★★★★★:
git config receive.denyDeleteCurrent true
블로그 게시물 작성자 http://www.mslinn.com/blog/?p=772에게 크레딧
언급URL : https://stackoverflow.com/questions/2862590/how-to-replace-master-branch-in-git-entirely-from-another-branch
'programing' 카테고리의 다른 글
| DISTINCT를 사용하여 파티션 함수 카운트() OVER 가능 (0) | 2023.04.29 |
|---|---|
| WPF 텍스트 상자에서 포커스에 있는 모든 텍스트를 자동으로 선택하는 방법은 무엇입니까? (0) | 2023.04.29 |
| Swift - Int를 열거형으로 캐스트합니다.내부 (0) | 2023.04.24 |
| ComboBox에서 항목 그룹화 (0) | 2023.04.24 |
| 날짜가 주말인지 어떻게 판단하나요? (0) | 2023.04.24 |