왜? Git (4) - Essentials
Git remote
Git에서 리모트는 다른 서버나 시스템에 있는 저장소에 대한 참조다.
리모트를 사용하면 다른 곳에 저장된 리포지토리 사본에
액세스하고 상호 작용할 수 있으므로
다른 사람과 협업하고, 작업을 공유하고,
백업 및 재해 복구 목적으로 리포지토리의 여러 사본을
유지할 수 있다.
로컬 리포지토리에 리모트를 추가하면
Git에서 원격 저장소에 대한 참조를 만들어
로컬 리포지토리에서 리모트 저장소로 변경 사항을 푸시하거나,
리모트에서 로컬 저장소로 변경 사항을 풀하거나,
로컬 복사본을 업데이트하지 않고도 리모트에서 변경 사항을 페치할 수 있다.
이를 통해 분산 개발이 가능하고 프로젝트 기록의
중앙 집중화된 버전을 유지 관리하여 변경 사항을 추적하고,
충돌을 관리하고, 모든 사람이 최신 코드에
액세스할 수 있도록 하는 것이 더 쉬워진다.
Git과 GitHub에서 저장소를 복제하는 것은 컴퓨터에 원격 저장소의
로컬 복사본을 만드는 것을 포함한다. 이를 통해 로컬에서 프로젝트를 작업하고,
변경 사항을 커밋하고, 나중에 해당 변경 사항을 원격 저장소로 다시 푸시할 수 있다.
원격 관리
Git에서 원격 저장소는 서버나 다른 컴퓨터에 저장된 프로젝트의 소스 코드 사본을 의미한다.
- 리모트 추가: git remote add [name] [url]새 리모트 저장소를 추가하는 데 사용한다. 이를 통해 리모트에서 변경 사항을 추적하고 업데이트를 푸시/풀할 수 있다.
- 리모컨 나열: git remote -v구성된 모든 리모컨을 URL과 함께 나열한다.
- 리모컨 이름 변경: .을 사용하여 기존 리모컨의 이름을 업데이트한다 git remote rename [old-name] [new-name].
- 원격 저장소 삭제: .을 사용하여 원격 저장소를 제거한다 git remote remove [name].
원격 관리 기능은 프로젝트에서 협업하거나 상위 소스의 변경 사항을 추적하는 데 필수적이다.
Push & Pull Changes
Git에서 변경 사항을 Push할 때는
원격 저장소에서 변경 사항을 로컬 저장소로 Fetch하여 통합한다.
이 작업은 원격 브랜치의 최신 변경 사항으로 로컬 브랜치를 업데이트한다.
반면 Git에서 변경 사항을 Push할 때는 로컬 Commit을
GitHub, GitLab 또는 Bitbucket과 같은 원격 저장소로 보낸다.
이 작업은 원격 저장소를 최신 변경 사항으로 업데이트한다.
Fetch & Pull
git fetch 명령을 실행하면 원격 저장소의 변경 사항을
로컬 저장소로 가져오지만, 이 변경 사항을
로컬 작업 디렉토리에 자동으로 병합하지는 않는다.
git pull은 원격 변경 사항을 가져오는 동시에 자동으로 병합까지 수행하는 것과는 다릅니다.
fetch를 병합 없이 사용하면 원격 저장소의 최신 정보를
가져오면서도 로컬 작업 디렉토리를 그대로 유지할 수 있다.
이후, 필요에 따라 merge나 rebase 명령을 통해 이 변경 사항을 적용할 수 있다.
이 방법은 로컬 저장소의 상태를 깔끔하고 일관되게 유지할 수 있게 해 주어
변경 사항 관리 및 커밋이 더 수월해진다.