본문 바로가기
기타/멋쟁이사자처럼

[github] github 협업 flow

by jinbro 2017. 2. 17.

[git과 github차이]

- git은 버젼관리를 위한 저장소라고 생각하면 됨.

- github은 버젼관리 + 팀프로젝트를 위해 사용함, 오픈소스화 하기위해서 사용하기도 함

- git은 보통 개인저장소, github은 협업을 위한 도구로 사용한다고 보면 됨, 한마디로 공유 개념이 붙었는가 붙지 않았는가에 차이


[github을 활용한 협업 flow]

그럼 어떻게 github을 활용해서 협업을 해나가는지 살펴볼 것이다.


1) 이미지로 흐름 살펴보기




2) 실습하기


1) github 레포지토리를 만든다(위의 이미지에서는 프로젝트 저장소에 해당한다)


2) github 레포지토리의 협업 팀원을 추가한다.


3) 추가를 시키면 추가된 팀원의 이메일(github 사용메일)로 수락 메일이 가고, 수락하면 collaborators로 설정된다.

4) 프로젝트 저장소에 바로 작업하는 것이 아니라 내 저장소에서 작업한 후 프로젝트 저장소에 적용할지 말지 여부를 물을 수 있도록 프로젝트 저장소의 내용을 fork 해온다. 시간은 수 초 정도 걸리는데, 저장소에 저장된 크기에 비례하여 fork 시간은 늘어난다. 

5) 내 저장소로 fork 해온 프로젝트를 원격 컴퓨터(github 페이지는 페이지일뿐.... 작업을 위해 원격컴퓨터로 불러오는 작업)로 clone한다.


6) 코드 작업 후 커밋을 한다(작업 내역을 기록하고 작업물을 보냄)


7) git push를 통해 내 저장소(fork 해온 repo)에 작업한 결과물(commit)을 보낸다. (명령어 : git push 저장소이름 브랜치이름)


8) 프로젝트 저장소가 아니라 내 저장소(fork 해온 repo)에 작업한 결과물(commit)이 적용되었다. 6분전 저장되었다고 나온다.


9) 내 저장소말고 프로젝트 저장소(본 프로젝트 저장소)에 적용시키기위해 요청을 날리는 작업이다. 

내 저장소에서 Pull requests > new pull request 메뉴 버튼을 누른다.


10)  head fork는 본인 저장소이름/프로젝트이름으로 설정되어있을 것인데, 작업의 필요로인해 만든 내 repo 브랜치로 변경해야한다.

       (origin으로 작업해도되지만, 프로젝트 repo의 origin과 혼동될 수 있으므로 내 repo에서 브랜치를 만들어서 사용한다)

이후 본인이 코딩한 작업물이 뭐뭐 바뀌었는지 확인한 후 Create pull request 버튼을 눌러 프로젝트 repo에 merge(프로젝트 합치기) 요청을 한다.


11) 프로젝트 관리자가 merge 요청을 확인한 후 Merge pull request를 누르면 프로젝트에 반영된다.

     Merge 요청을 리젝할 경우 코멘트를 써서 리젝 할 수 있다.



[github 협업 flow 참고자료]

1) git - 간편 안내서 - 어렵지 않아요! : https://rogerdudler.github.io/git-guide/index.ko.html

2) 멋사 경성대 팀원 


댓글