HOWTO · Git

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(-)