Git의 원격 리포지토리와 로컬 리포지토리 동기화

John Wachira 2023년6월20일
Git의 원격 리포지토리와 로컬 리포지토리 동기화

이 문서에서는 로컬 리포지토리를 원격 리포지토리와 동기화하는 프로세스를 간략하게 설명합니다. 또한 명령줄에서 GitHub 포크를 원격 리포지토리와 동기화하는 방법도 살펴봅니다.

Git의 원격 리포지토리와 로컬 리포지토리 동기화

업스트림 리포지토리가 있는 로컬 리포지토리가 있고 두 리포지토리를 동기화하려고 한다고 가정해 보겠습니다. 어떻게 해야 할까요?

업스트림 리포지토리를 로컬 리포지토리에 추가하는 방법을 잘 모르는 경우 다음 단계를 따르십시오.

아래 명령을 사용하여 구성된 원격 저장소를 확인할 수 있습니다.

$ git remote -v
origin https://github.com/Wachira11ke/Delftscopetech.git (fetch)
origin https://github.com/Wachira11ke/Delftscopetech.git (push)

업스트림을 구성하려면 다음을 실행합니다.

$ git add upstream <URL for the original upstream repo>

이제 아래 명령을 사용하여 업스트림에서 가져올 수 있습니다.

$ git pull upstream --prune

--prune 옵션은 원격에 더 이상 존재하지 않는 원격 추적 분기를 제거합니다. 이렇게 하면 변경 사항이 현재 브랜치에 병합됩니다.

업스트림과 동기화하지 않고 대신 GitHub 리포지토리와 동기화하는 경우 다음을 실행합니다.

git fetch origin
git reset --hard origin/master
git clean -f -d

로컬 분기는 원격 분기(커밋 및 파일)의 정확한 복사본이어야 합니다.

로컬 main 브랜치에 병합하려면 풀링하기 전에 체크아웃했는지 확인하세요.

이제 다음을 실행하여 GitHub 포크를 업데이트할 수 있습니다.

$ git push

결론적으로 로컬 저장소를 원격 저장소와 쉽게 동기화할 수 있습니다. 더 이상 원격에 존재하지 않는 원격 추적 분기를 로컬 저장소에서 제거하려면 --prune 플래그를 추가하십시오.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Remote