728x90
이 방법은 원본 repository가 있고, fork를 따서 내 repository에 가져와서 협업하는 방식과 관련되어있다.
저번 프로젝트에서 이 방법을 사용하였는데, 충돌도 적게 나고 훨씬 편했다. 이후에도 이 방식을 사용할 생각이 있다.
협업 시 fork를 사용하면 fork를 받아온 원본 repository와 fork를 딴 내 repository가 있을 것이다.
이 때 다른 사람이 원본 repository에 merge를 하면 fork를 딴 내 repository와 코드상에서 차이가 발생한다.
그러면 충돌이 날 수 있는데, 이 문제는 remote와 upstream을 이용하면 해결할 수 있다!
Upstream과 Downstream
- local에서 나의 원격 repository(origin)로 push하고
- 나의 원격 repository(origin)에 변경사항을 local에서 pull 해온다
이 경우 원격 repository(origin)는 upstream, local은 downstream의 관계가 성립한다.(origin으로부터 local로 흐르는 관계)
- origin에서 fork를 받은 원본 repository에 pull request를 날리고
- fork를 받은 원본 repository에서 origin으로 변경사항을 pull한다
그렇다면 이 경우는 fork를 받은 원본 repository가 upstream, 내 origin은 downstream인 관계가 성립할 것이다.
그래서 이 방법에서는 fork를 받은 원본 repository를 upstream이라는 용어로 부를 것이다.
용어정리
upstream = 원본 repository
origin = fork를 딴 내 repository
방법
- 원본 repository(upstream)에서 fork를 해서 내 repository(origin)에 받아온다
- origin에 있는 프로젝트를 로컬로 clone해온다
- git clone ~~
- 원본 repository를 upstream으로 등록해준다
- git remote add upstream [url]
- 변경사항을 add, commit한다
- git add .
- git commit -m "feat:~~"
- 원본 repository(upstream)에 변경사항이 있을 수 있으니 pull한다
- git pull upstream main
- 변경사항을 내 repository(origin)에 push한다
- git push origin main
- 내 repository에서 pull request를 보낸다
https://pers0n4.io/github-remote-repository-and-upstream/
728x90
'기타' 카테고리의 다른 글
[지식글] 버스정보앱 "전국스마트버스" 사용법을 알아봅시다 (1) | 2023.08.16 |
---|---|
[지식글] 카카오 택시 잡는 방법 알아봅시다! (0) | 2023.08.13 |
[Git] 이전 버전으로 되돌리는 법 (reset, revert) (0) | 2023.03.27 |
Git Clone/ Remote add 차이 (0) | 2023.03.27 |
Git 협업: Branch,Fork, Clone, Pull Request (0) | 2023.03.27 |