일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 빅데이터
- 프로그래밍언어
- 버전관리
- 프로그래밍
- 데이터구조
- 네트워크
- springboot
- 데이터과학
- 머신러닝
- 컴퓨터공학
- 데이터베이스
- 자바스크립트
- 파이썬
- 네트워크보안
- 자료구조
- 소프트웨어공학
- I'm Sorry
- Yes
- 컴퓨터과학
- 보안
- 데이터분석
- 웹개발
- 컴퓨터비전
- 클라우드컴퓨팅
- 딥러닝
- 소프트웨어
- 인공지능
- 사이버보안
- 알고리즘
- 디자인패턴
- Today
- Total
스택큐힙리스트
Git에서 마스터 브랜치를 다른 브랜치로 완전히 교체하는 방법은 무엇인가요? [중복] 본문
내 Git 저장소에는 두 개의 브랜치가 있습니다:
master
seotweaks
(원래master
에서 만들어짐)
나는 seotweaks
를 빠르게 master
로 다시 병합하기 위해 만들었습니다. 그러나 그것은 3개월 전의 일이었고, 이 브랜치의 코드는 master
보다 13개 버전 앞선 상태입니다.
실제로, 우리는 이제 master
에 있는 코드가 모두 거의 사용되지 않는 것으로 취급되므로, 이것은 우리의 작업용 주요 브랜치가 되었습니다.
매우 좋지 않은 방법이라는 것을 알고 있습니다, 배운 교훈입니다.
master
브랜치의 모든 내용을 seotweaks
의 내용으로 대체하는 방법을 아십니까?
그냥 master
에서 모든 것을 삭제하고 병합할 수도 있겠지만, 이는 최선의 방법이 아닌 것 같습니다.
답변 1
당신은 ours 병합 전략을 사용하여 seotweaks로 master를 덮어쓸 수 있어야 합니다:
git checkout master
git pull
git checkout seotweaks
git merge -s ours master
git checkout master
git merge seotweaks
첫 두 단계는 로컬 복사본이 최신 상태인지 확인하기 위한 유용한 예방 조치입니다. 결과적으로 당신의 마스터는 이제 본질적으로 seotweaks입니다.
(-s ours
는 --strategy=ours
의 약어입니다.)
'ours' 전략에 관한 문서에서:
이는 병합의 어떤 수의 헤드도 해결하지만, 병합의 결과 트리는 항상 현재 브랜치 헤드의 트리이며, 모든 다른 브랜치의 변경을 무시합니다. 이는 사이드 브랜치의 이전 개발 기록을 대체하는 데 사용되도록 설계되었습니다. 이는 재귀적 병합 전략의 -Xours 옵션과는 다릅니다.
통지 내용 업데이트: 만약 refusing to merge unrelated histories
오류가 발생한다면, 두 번째 줄을 다음과 같이 변경하세요: git merge --allow-unrelated-histories -s ours master
답변 2
본문: Git에서 마스터 브랜치를 다른 브랜치로 완전히 교체하는 방법마스터 브랜치를 다른 브랜치로 완전히 교체하는 방법은 Git에서 매우 유용한 작업입니다. 이 과정을 수행하려면 다른 브랜치의 변경 사항을 마스터 브랜치에 병합하고 실행 중인 작업을 완료한 다음 마스터 브랜치로 변경해야 합니다. 이렇게 하면 원하는 변경 사항을 마스터 브랜치에 반영할 수 있습니다.
첫 번째 단계는 변경 사항을 원하는 브랜치에 병합하는 것입니다. 이 단계에서는 다음 명령을 사용하여 동기화할 브랜치로 이동합니다.
```shell
git checkout [동기화할 브랜치]
```
이 제목의 SEO 최적화를 위해 Git에서 마스터 브랜치 완전히 교체하는 방법을 사용하여 검색 키워드를 강조하도록 하겠습니다.
다음으로, 변경 사항을 마스터 브랜치와 병합합니다. 아래의 명령어를 실행하여 원하는 브랜치의 변경 사항을 마스터 브랜치에 반영합니다.
```shell
git merge [원하는 브랜치]
```
병합 과정에서 충돌이 발생할 수 있으며, 이러한 충돌을 해결해야 합니다. 충돌이 발생하면 Git은 충돌 지점을 기준으로 변경 사항을 표시하고 충돌을 해결할 수 있는 도구를 제공합니다. 충돌을 해결한 후 변경 사항을 커밋합니다.
다음으로, 원하는 병합 작업을 모두 완료한 후 마스터 브랜치를 강제로 업데이트합니다. 다음 명령을 사용하여 마스터 브랜치로 이동한 다음 다른 브랜치의 내용을 마스터 브랜치로 덮어씁니다.
```shell
git checkout master
git reset --hard [원하는 브랜치]
```
위의 명령은 마스터 브랜치를 지정된 브랜치로 완전히 바꿀 것입니다. 이전의 모든 변경 사항은 사라지고, 지정된 브랜치의 최신 커밋 내용이 적용됩니다.
이제 Git에서 마스터 브랜치를 다른 브랜치로 완전히 교체하는 방법을 알게 되었습니다. 이 공정을 거치면 마스터 브랜치에 다른 브랜치의 변경 사항을 쉽게 반영할 수 있습니다. 프로젝트에서 마스터 브랜치를 교체하는 경우, 위의 단계를 따라 실행하여 Git 작업을 완료하십시오.
참고: 이 문서는 Git에서 마스터 브랜치를 다른 브랜치로 완전히 교체하는 방법이라는 주제에 대한 SEO 최적화된 한국어 에세이로 작성되었습니다. 이 주제에 대해 빠뜨린 내용이 있다면 죄송합니다.