Git에서 원격 분기를 로컬 분기에 병합

Kevin Amayi 2023년1월30일
  1. 원격 리포지토리를 복제하고 로컬에서 변경 사항을 업데이트하여 원격 분기를 Git의 로컬 분기에 병합
  2. 원격 리포지토리에서 변경 사항을 추적하고 가져와서 원격 분기를 Git의 로컬 분기에 병합
Git에서 원격 분기를 로컬 분기에 병합

이 튜토리얼은 원격 저장소를 복제하고 변경 사항을 로컬로 업데이트하여 원격 git 브랜치를 로컬 브랜치에 병합합니다.

원격 리포지토리를 복제하고 로컬에서 변경 사항을 업데이트하여 원격 분기를 Git의 로컬 분기에 병합

maingh-pages라는 두 가지 분기가 포함된 원격 저장소를 복제합니다.

그런 다음 로컬 분기 테스트를 만들고 원격 분기 gh-pages를 업데이트합니다. 그런 다음 gh-pages에서 원격 변경 사항을 가져와 테스트 분기에 병합합니다.

<!-- The command to use is -->
git clone <remote-repo-url>
    
<!-- From your terminal run -->
git clone https://github.com/KEVINAMAYI/AkanNameGenerator.git

출력:

Cloning into 'AkanNameGenerator'...
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), 2.38 MiB | 1.86 MiB/s, done.

아래 명령을 사용하여 프로젝트 폴더와 사용 가능한 분기 목록으로 이동합니다.

<!-- get into project folder -->
cd AkanNameGenerator

<!-- List branches available -->
git branch -a

출력:

<!-- The asterix indicates we are on branch main -->
* main
remotes/origin/HEAD -> origin/main
remotes/origin/gh-pages
remotes/origin/main

다음으로 로컬 브랜치 테스트를 생성합니다.

git branch test

그런 다음 로컬 분기 테스트로 전환합니다.

git checkout test

출력:

Switched to branch 'test.'

이 명령을 실행하여 테스트 분기에 병합하기 전에 gh-pages 업데이트를 진행합니다.

git fetch origin gh-pages

출력:

remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 726 bytes | 363.00 KiB/s, done.
From https://github.com/KEVINAMAYI/AkanNameGenerator
* branch            gh-pages   -> FETCH_HEAD
4a458ff..4edc95b  gh-pages   -> origin/gh-pages

업데이트 후 원격 분기 gh-pages를 병합하여 테스트합니다.

git merge origin/gh-pages

출력(gh-pages 분기에 변경 사항이 있는 경우):

Updating f25a425..4a458ff
Fast-forward
js/global.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

출력(gh-pages 분기에 변경 사항이 없는 경우):

Already up to date.

원격 리포지토리에서 변경 사항을 추적하고 가져와서 원격 분기를 Git의 로컬 분기에 병합

이제 mastergh-pages라는 두 가지 분기가 포함된 원격 저장소를 복제합니다. 그런 다음 로컬 브랜치 another-branch를 만들고 원격 main 브랜치에서 변경된 사항을 추적하도록 설정합니다.

<!-- The command to use is -->
git clone <remote-repo-url>
    
<!-- From your terminal run -->
git clone https://github.com/KEVINAMAYI/AkanNameGenerator.git

출력:

Cloning into 'AkanNameGenerator'...
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), 2.38 MiB | 1.86 MiB/s, done.

다음으로 프로젝트 폴더로 이동하여 다음과 같이 사용 가능한 분기를 나열해야 합니다.

<!-- get into project folder -->
cd AkanNameGenerator

<!-- List branches available -->
git branch -a

출력:

<!-- The asterix indicates we are on branch main -->
* main
remotes/origin/HEAD -> origin/main
remotes/origin/gh-pages
remotes/origin/main

우리는 로컬 지점인 another-branch를 만들 것입니다.

git branch another-branch

우리는 지역 지점 another-branch로 전환할 것입니다.

git checkout another-branch

출력:

Switched to branch 'another-branch'

그런 다음 원격 main 장치 변경 사항을 추적하기 위해 분기를 another-branch로 설정합니다.

git branch --set-upstream-to=origin/main another-branch

출력:

Branch 'another-branch' set up to track remote branch 'main' from 'origin'.

이제 원격 브랜치 main에서 변경 사항을 직접 가져올 수 있습니다.

git pull

출력:

Merge made by the 'recursive' strategy.
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

관련 문장 - Git Branch

관련 문장 - Git Merge