본문 바로가기

CodeTech/Git

Git - 협업 [fork, clone, pull request]

github에서 협업을 할때에 다른팀원들과 코드를 공유하며

해당 코드를 로컬로 끌어와 코딩을 해야한다.

 

즉, 공개된 프로젝트에 기여를 하고 싶다면 해당 프로젝트의 저장소를

내저장소를 만드는 작업이 필요하다. 이후 해당 저장소에서 로컬로 프로젝트를 가져오고

작업내용을 커밋해서 내 저장소에 저장한다음, Pull request를 통해 원본에 반영하는 작업이 그것이다.

 

fork

- 팀원들의 코드를 받아서 내 remote repository에 넣어놓는다. 

내가 속한 조직 혹은 팀의 프로젝트들을 fork하려면 해당 프로젝트로 들어가야한다.

 

프로젝트로 들어가면 오른쪽 상단의 Fork 버튼이 있는데 이버튼을 누른다.

단, 해당 레포지토리가 비어있으면 안된다. 어떤 파일이라도 있다면 fork가 된다.

이렇게 해당 프로젝트가 fork가 된다.

 

clone

- remote 레포지토리에 넣은 프로젝트를 로컬로 가져오는 작업

 

내 githubpage에 보면 repository에 fork를 해온 저장소가 있다. 해당 저장소를 들어가면 code 라는 버튼에

Clone 주소가 적혀 있다. 해당 주소를 복사해서 다음과 같이 git bash에 명령어를 넣으면

해당 로컬에 clone이 된다. 

 

git파일을 넣고 싶은 부모 디렉토리에서 git clone을 해야한다. 

이와 같이 git clone으로 내 로컬에 가져왔다. 여기서 add, commit, push을 해보자

 

위와 같이 fork한 내 레포지토리에 push 된것을 알 수 있다. 이제 이것을 원본에 합쳐달라고 요청해보자

pull request

- 다른 사람의 작업을 fork로 받아와서 개인 저장소에서 작업한 후 이 작업물을

원본 레포지토리에 반영해달라고 요청하는 과정

 

내가 fork한 레포지토리를 보면 헤드에 Pull requests 칸에 오른쪽 상단에 New pull request 버튼이 있다.

 

이렇게 pull request는 내가 fork를 해온 조직 혹은 팀의 레포지토리에 알림이 가게 되고 내가 요청한 pull request알림은

팀원들의 토의 끝에 팀장이 허락을 하면 원본과 합쳐지게 된다.

 

많이 쓰이는 기능으로는 branch, checkout, fetch, merge, remote, issue 등이 있다.

 

이중 branch와 merge issue를 정말 많이 사용할 것이므로 공부하자

'CodeTech > Git' 카테고리의 다른 글

Git - commit message 작성법  (1) 2020.10.30
Git - 경로 변경  (0) 2020.10.22
Git - 9 [static website 무료호스팅]  (0) 2020.10.12
Git - 8 [branch]  (0) 2020.10.12
.gitignore 파일 (git이 인식을 안했으면 하는 파일 데스노트)  (0) 2020.09.26