만약 어떤 repository를 fork 한 후 우리가 수정하는 동안 그 repository, 즉 베이스 코드 저장소에 변경사항이 생긴다면 무슨 일이 생길까?
그러면 우리가 수정한 코드는 최신 코드 위에서 작업한 결과물이 아니게 되는 상황이 발생할 것이다!! 이를 해결하여보자.
우선 fork를 하면 위에서 볼 수 있듯이 upstream/master branch 가 생성되어 있는 것을 볼 수 있다. 이 upstream branch는 베이스 저장소의 master branch 와 커뮤니케이션 한다. 이 branch 를 통해 변경사항을 요청받아서 베이스 저장소의 최신 코드를 가져올 수 있다.
방법은 간단하다. 위에 보이는 Fetch origin을 클릭하면 upstream 에서 fetch를 하게된다. 그 후, upstream의 코드를 현재 branch에 병합을 하면 최신 코드로 변경할 수 있다.
위에 보이는 Choose a branch to merge into master을 클릭하면
위와 같은 창이 뜨고, 현재는 베이스 저장소의 코드에서 수정된 사항이 없기 때문에 This branch is up to date with upstream/master라고 뜨고, 만약 베이스 저장소의 코드에서 변경사항이 생길 시 Create a merge commit을 누르면 된다!!
그 후 Push Origin을 클릭한 후 fork한 repository에 가보면 변경사항이 잘 적용되어 있는 것을 확인할 수 있을 것이다~
만약 베이스 코드 저장소가 아직 하지 않은 일이나 어떤 버그가 발생되면 베이스 코드 저장소 페이지 위에서 Issues 버튼을 누르고
New issue를 클릭해보면
위와 같이 어떤 문제점이 있는지 올릴 수 있는 페이지가 나타나게 된다.
사용하는 상황은 예를들어 버그를 찾으면 이슈를 생성한 뒤 코드를 수정한 뒤 Pull request를 만들 때 이 request는 저 이슈를 해결하는 것이라고 말하면 된다!!
다음과 같은 label을 통해서 이 문제가 어떤 종류의 issue인지 쉽게 파악할 수도 있다.
Milestones라는 것은 버전을 올릴 때 필요한 것들을 모아두는 것을 말한다. Milestones를 생성하고 그 안에 다음 버전을 위한 이슈들을 할당할 수 있는데 각 이슈를 해결하고 닫으면 다음 버전을 위한 충족 사항이 얼마나 진행되었는지 %로 나타나게 된다.
'Git&Github' 카테고리의 다른 글
Checkout & HardReset 이란? (0) | 2022.09.11 |
---|---|
CLI log & Commit & Push 란? (0) | 2022.09.07 |
Forking & Cloning 이란? (0) | 2022.09.04 |
Branches & Conflicts 란? (0) | 2022.09.01 |
Commit & Area 란? (0) | 2022.08.31 |