Github 기초 사용법 - 2
이번 포스트에서는 로컬 저장소에서 작업한 내용을 Github의 원격저장소로 push하는 등의 원격저장소 활용방법에 대해 다룬다. github의 기본 명령어 (git init & status & add & commit) 및 Branch 와 충돌관리에 대해 잘 모른다면 이전 포스트 [Project Management/Github] - Github 기초 사용법 - 1를 참고하세요.
목 차
1. Github 레퍼지토리 생성
생성하면 다음과 같이 레퍼지토리가 생성된다. 레퍼지토리의 URL을 복사하자. Git Bash에서 이 원격 저장소와 연동을 위해 이 원격 저장소의 주소가 필요하다.
2. 원격저장소 연결 (git remote)
git remote add [원격저장소 별명] [원격저장소 주소] : 원격저장소 추가git remote -v : 원격저장소 목록 확인e.g. remote add origin https://github.com/lis123kr/github.tutorial.git
3. git push (로컬 -> 원격)
git push [원격저장소 별명] [브랜치 명] : 원격저장소에 [브랜치 명]의 작업내용을 전달
4. 원격저장소와 로컬저장소 충돌 문제 (git pull & fetch)
git fetch : 원격 저장소의 변경 사항(commit) 들을 로컬저장소로 가져온다. (commit 내역을 가져온다)git pull : 원격 저장소의 변경사항을 가져와 로컬에 병합한다.
git merge origin/master를 통해 원격저장소의 변경내역과 병합해보자. 변경내역에 충돌이 없다면 바로 병합이 되지만, 여기서 변경한 내역에는 충돌되는 부분이 있어 충돌이 발생했다. 충돌이 난 부분을 git diff를 통해 확인하고 해결하자.
충돌을 해결한 후 원격저장소에 push하면 이제는 원격저장소와 로컬저장소가 같은 최신의 작업내역을 갖고있기 때문에 push 시 에러가 발생하지 않는다.
5. fork/clone 와 pull request
fork : 다른 사용자의 원격저장소를 내 원격 저장소 복제clone : 원격 저장소를 로컬 저장소에 복제pull request : 저장소 간의 병합요청
본 저장소와 fork 저장소의 변경사항을 보여주고 Create pull request 버튼을 통해 pull request를 생성할 수 있다. pull reqeust를 생성할 때, 보통 오픈소스 프로젝트에서는 template이 있어, 템플릿에 맞게 내용을 작성하여 병합요청을 해야한다.
다시 소유자의 계정으로 돌아가보자. pull reqeust 메뉴에 다른 사용자가 요청한 pull request가 생성되어있고, 내용을 확인할 수 있다.
pull request를 받은 본 저장소의 소유자는 변경 내용을 확인하고 적합하다면 merge 버튼을 통해 병합할 수 있고, 또는 변경을 요청하며 병합을 거절할 수 있다.
'Project Management > Github' 카테고리의 다른 글
Github + Slack 연동 (1) | 2019.01.27 |
---|---|
Github 기초 사용법 - 3) issue, project (1) | 2019.01.27 |
Github 기초 사용법 - 1) commit, branch, merge (0) | 2019.01.27 |