programing

하나의 로컬 분기를 다른 로컬 분기로 병합

goodsources 2023. 5. 21. 11:23
반응형

하나의 로컬 분기를 다른 로컬 분기로 병합

마스터에서 분기된 여러 분기가 있습니다(각각 별도의 하위 디렉토리에 있음).

  • 브랜치 1: 새로운 개발, 아직 완전히 완료되지 않음
  • Branch2: 문제에 대한 핫픽스, 아직 테스트 중
  • 브랜치 3: 브랜치 주변의 엉망진창, 나는 그것을 복원하지 않을 것입니다.

핫픽스 테스트가 완료되기 전에 브랜치1에서 코드를 이미 사용할 수 있기를 원합니다. 그래서 저는 제 자리에서 수정을 계속해서 개발할 수 있습니다.
(그러나 git에 대한 경험이 많지 않기 때문에, 저는 처음에 3번째 지점에서 병합을 하기 시작했습니다. 특히 지점 1이나 지점 2를 망치기 전에 엉망으로 만들기 위해 만들어졌습니다.)

세 번째 지점에서 처음으로 다음을 시도했습니다.

git merge feature/Branch1

그러나 이로 인해 다음과 같은 오류가 발생했습니다.

fatal: 'feature/Branch1' does not point to a commit

다음으로 브랜치1에서 커밋-a를 수행하고 다시 시도했지만 계속 동일한 오류가 발생합니다.

내가 뭘 잘못하고 있는 거지?이 경우 브랜치 1에서 브랜치 3으로 코드를 병합하려면 어떻게 해야 합니까?

먼저 지점 3에서 체크아웃합니다.

git checkout Branch3

그런 다음 Branch1을 병합합니다.

git merge Branch1

그리고 브랜치2에서 브랜치1의 업데이트된 커밋을 원한다면, 당신은 아마도

git checkout Branch2
git rebase Branch1

이렇게 하면 Branch2가 Branch1의 최신 업데이트로 업데이트됩니다.

 git checkout [branchYouWantToReceiveBranch] //checkout branch to receive branch
 git merge [branchYouWantToMergeIntoBranch]

다음 명령을 사용할 수 있습니다.

git checkout <the branch you want to merge into>

git merge <the branch you want contents from>

feature_x 브랜치를 "master" 브랜치로 병합하는 것과 같이 한 브랜치를 다른 브랜치로 병합하는 방법:

git checkout master

git merge feature_x

원래 지점 이름은 현재 일반적입니다.main대신에master상황에 따라 올바른 이름을 선택합니다.

이 페이지는 "한 분기를 다른 분기로 병합"할 때 여러 검색 엔진의 첫 번째 결과입니다.그러나 원래 질문은 제목이 시사하는 것보다 더 구체적이고 특별한 경우입니다.
또한 제목과 검색 표현식보다 더 복잡합니다.이와 같이, 이것은 대부분의 방문객들의 이익을 위한 최소한의 설명적인 대답입니다.

Github에서 지점 이름을 복사했기 때문에 여기에 도착한 경우를 대비하여 원격 지점은 자동으로 로컬 지점이 아니므로 병합이 작동하지 않고 "우리가 병합할 수 있는 대상이 아닙니다" 오류가 발생합니다.

이 경우 두 가지 옵션이 있습니다.

git checkout [branchYouWantToMergeInto]
git merge origin/[branchYouWantToMerge]

또는

# this creates a local branch
git checkout [branchYouWantToMerge]

git checkout [branchYouWantToMergeInto]
git merge [branchYouWantToMerge]

약간 더 긴 접근 방식이지만, 그럼에도 불구하고 효과가 있습니다.

분기 3:

git fetch origin Branch1
git merge --no-ff origin/Branch1

이 시점에서 병합 충돌이 발생할 수 있습니다. 병합 충돌이 포함된 파일의 모든 변경 내용을 저장합니다.

git add -A
git commit -m "Merge"
git push

다 했어요.

언급URL : https://stackoverflow.com/questions/38206196/merge-one-local-branch-into-another-local-branch

반응형