Git에서 원격 분기를 로컬 분기에 병합
- 원격 리포지토리를 복제하고 로컬에서 변경 사항을 업데이트하여 원격 분기를 Git의 로컬 분기에 병합
- 원격 리포지토리에서 변경 사항을 추적하고 가져와서 원격 분기를 Git의 로컬 분기에 병합
이 튜토리얼은 원격 저장소를 복제하고 변경 사항을 로컬로 업데이트하여 원격 git 브랜치를 로컬 브랜치에 병합합니다.
원격 리포지토리를 복제하고 로컬에서 변경 사항을 업데이트하여 원격 분기를 Git의 로컬 분기에 병합
main
과 gh-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의 로컬 분기에 병합
이제 master
와 gh-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
- Bare Git 리포지토리에 마스터 브랜치 생성
- Git 분기 포인터를 다른 커밋으로 이동
- GitHub에서 빈 브랜치 만들기
- GitHub의 분기와 분기의 차이점
- Git에서 병합 및 병합되지 않은 분기 보기
- Git에서 원격 지점 추적 중지