Github Desktop을 사용한다.
1) Publish repository
Publish repository를 누른다. 본인의 Github에 Git 프로젝트 폴더를 보낸다.
Github 로그인이 되어 있지 않으면, 본인의 github 계정으로 로그인하면 된다.
Kepp this code private 체크박스를 체크하면, 위 사진처럼 Repository가 Private으로, 나만 볼 수 있는 상태로 publish된다.
체크를 해제하면 누구나 볼 수 있는 Public 상태가 된다.
현재 갖고 있는 프로젝트와 Commit 했던 내역(History)가 모두 업데이트 된다.
Main branch 이외의 branch들의 내역은, 각각의 branch에서 Publish 해야 한다.
이후의 파일 변경사항은 'Push origin'으로, commit 내역이 있으면 활성화된다.
Github의 목적은, 사용자의 모든 수정사항을 기록으로 남기는 것이다.
(Git이 아닌 Github에 History가 남아있다.)
2) Fork
Fork는 Git이 아닌 Github의 기능이다. 전체 Repository를 복사한다.
Fork를 하면 더이상 기존의 프로젝트와는 별개인, 나만의 프로젝트 저장소가 새로 생성된다.
기존 프로젝트가 업데이트되면 그에 맞춰 Fork Update를 해줘야 한다.
3) Clone
Fork한 Repository를 Desktop에 저장하려면 Clone을 해야 한다.
Github Desktop에서 Clone repository를 누른다.
Clone할 Repository와 path를 설정한 후에 Clone을 누른다.
4) Pull Requests
Fork 및 Clone한 프로젝트 파일을 수정한 후, 기존 프로젝트에 반영시키려면?
Pull Requests는 기존의 프로젝트에 내가 수정한 내역을 반영시켜달라고 요청하는 것이다.
요청하고자 하는 파일을 수정하고 Push origin을 한다.
branch 간 비교가 아닌, fork 된 저장소와 비교하는 기능 사용.
저장소의 주인은 이와 같은 Pull request의 내역을 확인하고, 원래의 저장소에 이를 merge할 것인지 결정할 수 있다.
더 아래에 있는 Close pull request 버튼으로 요청을 무시할 수도 있다.
merge를 하면, 더이상 fork 저장소가 필요 없어지기 때문에 Delete fork 버튼이 생긴다.
이런 식으로 회사에서는 중심 저장소를 갖고 모든 직원들이 코드 복사본으로 작업하며
변경사항을 pull request 한다.
5) Origin and Upstream
내가 특정 저장소를 fork 했는데, 해당 저장소가 업데이트되어 더이상 나의 저장소가 최신 코드가 아닐 경우에는?
upstream/master (원본) 저장소에서 수정사항이 생겼을 경우, upstrea/master branch를 현재 fork한 branch로 merge 시킨다.
최신화 완료.
6) Issues
프로젝트가 해야 하는데 아직 하지 않은 일이나, 사람들이 발견한 문제 또는 버그 등을 기록하는 것.
혼자서 일하거나 작은 회사에서 일할 떄, 우선 이슈를 생성하고
Pull request를 만들 때, "이 Pull request는 저 이슈를 해결하는 것" 이라고 하면 효율적이다.
이슈가 해결되면 Close issue를 통해 닫을 수 있다.
위 사진에서의 New issue 왼쪽에 있는 Milestones 는, 버전을 올릴 때 필요한 것들을 모아두는 곳이다.
Milestone 안에는 많은 이슈를 할당할 수 있다. 할당된 이슈들을 모두 해결해야만 Milestone을 달성한다는 방식.
참고)
- https://nomadcoders.co/git-for-beginners
'Environment > Git & Github' 카테고리의 다른 글
Git) Git Reset (Checkout, Hard, Mixed, Soft) (0) | 2022.10.01 |
---|---|
Git) Git CLI 기본 사용법(log, commit, push + Tokens) (2) | 2022.09.30 |
Git & Github) Git Branch란? - 실습으로 살펴보기 (0) | 2022.09.18 |
Git & Github) Git 의 기본 개념 (0) | 2022.09.18 |
Git & Github) Git과 Github 이란? (+ Github Desktop) (0) | 2022.09.18 |