능히 해낼 수 있다

230304 git, 협업: git remote 주소 변경하기 본문

개발🌐/Git | GitHub

230304 git, 협업: git remote 주소 변경하기

roni_eo 2023. 3. 4. 00:13
반응형
반응형

✍️✍️✍️ 위 글은 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영).


 

협업에서 소스코드 관리를 위해 가장 필요하고 중요한 git과 github.
생각보다 제대로 초기 세팅을 해두지 않으면 실수를 했을 때
꼬인 내용을 풀고 헤매느라고 git과 github로만 2~3시간을 허비 할 수도 있다.

프로젝트를 포크뜨고 난 후, 내 작업을 편하게 push하고 pr하기 위해
origin인지, upstream인지에 따른 remote주소 변경 및 추가에 대한 내용을 적어두려 한다.

 


0. 기존 remote origin 주소를 변경해보기

가령 배포용 프로젝트 레포, 이름은 (build-product)가 있고,
그 레포를 내가 포크 떠와서 작업 푸시는 develop을 기준으로 한다고 가정해보자.

git clone https://github.com/project/build-product.git

프로젝트 클론 후

git remote -v

를 gitbash 또는 vscode터미널에 치든 어디에치든 아래와 같은 결과를 보게 되는데,

origin https://github.com/project/build-product.git (fetch)
origin https://github.com/project/build-product.git (push)

이 뜻은 내가 작업을 한 후 $ git pull origin main/(또는 develop) 명령어를 치게되면,
이 origin에 있는 저 주소로 나의 작업 내용이 가게 된다는 뜻이다.

하지만 나는 포크 떠와서 작업을 하고있는 중이고,
배포용 브랜치(ex.) main || master)에는 당장 나의 소스 코드는 병합이 되면 안된다.

때문에 나는 로컬에 origin과 upstream 두가지의 주소를 추가해야하는데!

변경하는 방법은 아래와 같다.

1. git remote set-url origin [바꿀 repo 주소 url]

set-url은 새로운 url주소를 세팅하기 위해 필요한 git remote명령어인데,
origin주소를 내가 포크 뜬 주소로 바꾸고 싶다면 아래처럼 작성 해 주면 된다.

git remote set-url origin https://github.com/ronieo/build-product.git

이렇게하면 결과는 

origin https://github.com/ronieo/build-product.git (fetch)
origin https://github.com/ronieo/build-product.git (push)

가 된다.


2. git remote remove || add

1번 방법처럼 저렇게 기존 origin에서 다시 세팅 할 수도 있지만, 단순 다 지우고 새로 url을 넣어도 된다.
origin은 포크를 뜬 나의 github remote url로
upstream은 포크를 떴던 팀 레포의 github remote url 설정해두면,
편하게 origin 또는 upstream으로 코드푸시를 할 수 있다.

git remote remove origin

명령어를 입력 하고

git remote -v

를하면 터미널또는 gitbash 또는 이것저것 등에 썼을 때 아무것도 나오지 않을 것이다.

그 다음 아래 처럼 origin에 나의 github remote url을 입력한다

git remote add origin https://github.com/ronieo/build-product.git

그리고 upstream에는 팀 레포의 주소를 remote주소로 추가한다.

git remote add upstream https://github.com/project/build-product.git

그러면 결과는 아래와 같다!

origin https://github.com/ronieo/build-product.git (fetch)
origin https://github.com/ronieo/build-product.git (push)

upstream https://github.com/project/build-product.git (fetch)
upstream https://github.com/project/build-product.git (push)

 

반응형