git remote set-url 명령어를 사용하면 Git 원격(remote) URL을 간단히 변경할 수 있습니다. 원격 URL을 수정하고 싶은 저장소 디렉터리로 이동한 후 해당 명령어를 실행하면 되는데, 이 명령어는 '원격 이름'과 '새 저장소 URL'이라는 두 개의 인자를 받습니다.
원격 Git 저장소의 이름을 변경했거나, 저장소를 다른 위치(호스팅 플랫폼)로 옮긴 경험이 있으신가요? 이런 작업들은 모두 저장소의 URL을 바꾸게 되며, 기존에 원격 저장소를 가리키던 참조들이 더 이상 작동하지 않게 만듭니다.
하지만 걱정하지 마세요! git remote set-url 명령어가 바로 그 해결책입니다. 이 명령어 하나만으로 원격 저장소의 URL을 손쉽게 변경할 수 있습니다.
이 글에서는 Git 원격이 무엇인지, 그리고 원격 URL을 어떻게 변경하는지 예시와 함께 차근차근 살펴보겠습니다.
Git 원격(Remote)이란?
Git 원격(remote)은 로컬 저장소와 원격 저장소를 연결해 주는 포인터입니다.
Git은 분산 버전 관리 시스템입니다. 즉, 여러 개발자가 각자 자신의 컴퓨터에 프로젝트 사본을 보관할 수 있습니다. 저장소에 적용한 변경 사항은 원격 서버로 푸시(push)하기 전까지는 다른 개발자가 확인할 수 없습니다.
하나의 Git 저장소에는 여러 개의 원격을 연결할 수 있지만, 대부분의 저장소는 하나의 원격만 사용합니다. 원격이 여러 개인 저장소는 보통 테스트(testing), 스테이징(staging), 프로덕션(production)처럼 서로 다른 개발 환경에 각각 연결되어 있는 경우입니다.
저장소 이름을 바꾸거나 다른 호스팅 플랫폼으로 이전할 때는 반드시 원격 URL을 업데이트해야 합니다.
git remote set-url 명령어는 저장소에 연결된 Git 원격을 변경합니다. 이 명령어는 원격의 이름(일반적으로 "origin")과, 저장소가 새로 가리킬 원격 URL을 인자로 받습니다.
1. 저장소 디렉터리로 이동하기
먼저 원격을 변경할 저장소로 이동합니다:
cd Projects/git-submodule-tutorial
2. 기존 원격 확인하기
이제 Git 저장소 안에 들어왔으니, git remote -v 명령어로 현재 설정된 원격을 확인해 보겠습니다:
git remote -v
실행 결과는 다음과 같습니다:
origin https://github.com/Career-Karma-Tutorials/git-submodule-tutorial (fetch) origin https://github.com/Career-Karma-Tutorials/git-submodule-tutorial (push)
"origin"이라는 이름의 원격이 하나 설정되어 있습니다. 이 원격은 원격 저장소에서 코드를 가져오고(fetch), 코드를 푸시하는(push) 용도로 모두 사용됩니다. 프로젝트에 여러 개의 원격이 설정되어 있지 않다면 비슷한 출력 결과를 보게 됩니다.
3. 원격 URL 변경하기
GitHub에서 저장소 이름을 git-submodule로 변경했다고 가정해 보겠습니다. git remote set-url 명령어로 원격을 새 주소로 변경할 수 있습니다:
git remote set-url origin https://github.com/Career-Karma-Tutorials/git-submodule
여기서 "origin"은 URL을 변경하려는 원격의 이름이며, 뒤에 지정한 URL이 프로젝트의 새 주소입니다.
원격 URL은 HTTP 방식과 SSH 방식 중 어느 쪽이든 지정할 수 있습니다. 예를 들어 다음과 같이 SSH URL로 변경할 수도 있습니다:
git remote set-url origin git@github.com:Career-Karma-Tutorials/git-submodule.git
이렇게 하면 "origin" 원격이 SSH URL을 가리키게 됩니다.
4. 변경 결과 확인하기
git remote -v 명령어로 새 원격 URL이 제대로 적용되었는지 확인합니다:
git remote -v origin
원격이 성공적으로 변경된 것을 볼 수 있습니다:
origin git@github.com:Career-Karma-Tutorials/git-submodule.git (fetch) origin git@github.com:Career-Karma-Tutorials/git-submodule.git (push)
성공적으로 완료되었습니다!
설정 파일을 직접 수정해서 원격 변경하기
작업 디렉터리 안의 Git 설정 파일(config)을 직접 수정하는 방법으로도 원격을 변경할 수 있습니다. 저장소 설정을 한 번에 여러 항목 수정해야 할 때 유용한 방법입니다.
Git 저장소 내의 .git/config 파일을 열고, 아래로 스크롤하여 [remote "origin"] 항목을 찾습니다:
[remote "origin"] url = git@github.com:Career-Karma-Tutorials/git-submodule.git fetch = +refs/heads/*:refs/remotes/origin/*
이 부분의 코드를 수정하면 "origin" 원격을 변경할 수 있습니다. 필요한 내용을 수정한 뒤 파일을 저장하면 됩니다.
다만 가능하면 Git 명령어를 사용해 원격을 변경하는 것이 좋습니다. 설정 파일을 직접 수정하면 실수로 잘못된 값을 입력할 위험이 상대적으로 크기 때문입니다.
fatal: No such remote '[name]' 오류 해결하기
원격을 변경하려고 할 때 다음과 같은 오류 메시지를 만날 수 있습니다:
fatal: No such remote '[name]'
이 오류는 존재하지 않는 원격의 URL을 변경하려고 할 때 발생합니다. 이 문제를 해결하려면, 변경하려는 원격의 이름을 정확하게 입력했는지 먼저 확인하세요. git remote -v 명령어로 등록된 원격 이름 목록을 확인하면 도움이 됩니다.
마무리
이번 가이드에서는 git remote set-url 명령어를 사용해 Git 저장소의 원격 URL을 변경하는 방법을 배웠습니다. 또한 저장소의 .git/config 파일을 직접 수정하는 방법도 함께 알아보았습니다.
이제 전문가처럼 Git 원격을 자유롭게 관리할 준비가 되었습니다!