Git 원격 저장소에서 로컬 분기를 하나로 재설정
이 튜토리얼에서는 git의 로컬 리포지토리에 있는 로컬 브랜치를 원격 리포지토리의 브랜치처럼 재설정하는 방법을 보여줍니다. 선택적으로 로컬 리포지토리에서 추적되지 않은 변경 사항을 삭제할 수 있습니다.
일반적으로 더 이상 필요하지 않거나 오래된 일부 변경 사항이 있는 로컬 지점이 있습니다. 또한 원격 저장소에 있는 변경 사항을 가져와야 합니다.
일반적으로 협업 환경에서 작업할 때 발생합니다. 다른 팀원이 일부 변경(수정, 기능 개발 등)을 수행하고 이를 원격 분기(예: master
)로 푸시했습니다.
따라서 로컬 저장소의 로컬 분기를 재설정
하고 원격 저장소의 분기와 동기화해야 합니다.
이제 이를 예를 들어 설명하겠습니다.
git reset
을 사용하여 원격 저장소에서 로컬 분기를 하나로 재설정
우리는 일반적으로 로컬 브랜치를 가지고 있습니다. master
는 원격 저장소에서 동일한 이름을 가진 원격 분기를 추적하는 데 사용됩니다.
이제 로컬 브랜치 즉, 체크아웃을 수행합니다. master
, 우리가 아직 거기에 있지 않은 경우. 또한 git checkout
은 추적되지 않은 파일을 제거합니다.
$ git checkout master
다음 명령을 실행하여 로컬 분기 viz를 재설정합니다. master
, 원격 저장소에.
$ git fetch origin
$ git reset --hard origin/master
첫 번째 명령인 get fetch
는 origin
에서 객체와 참조를 다운로드합니다. origin
은 원격 저장소의 원격 URL에 대해 git이 만든 별칭입니다.
두 번째 명령인 get reset
은 현재 HEAD
를 원격 분기에 있는 것으로 재설정합니다. 이렇게 하면 모든 로컬 변경 사항이 제거됩니다.
원격 저장소의 원격 분기에 있는 모든 변경/커밋은 로컬 저장소의 로컬 분기에 있습니다.
선택적으로 다음 명령을 실행하여 추적되지 않은 변경 사항을 정리할 수도 있습니다.
$ git clean -xdf