며칠전 수업을 받으며 Git에 대한 내용을 특강형식으로 받았는데, 협업시 어떻게 진행이 되는지 간략하게 배웠기에 그것을 정리 해보려고 한다.
진행Flow는 Markdown 작성 순이다.
협력자(팀원) 등록 - 팀장만
-
팀장은 우선 협업을 할 Project를 담을 Repository를 만든다.
-
만들어진 Repository에 들어가서 setting → collaborators 등록 (팀원추가)

-
Add people을 눌러 팀원의 username or email로 추가
코드 복사하기
-
팀원은 해당 repository 에 들어가서 주소를 복사 후 git clone을 사용한다.

-
git clone “주소” .
- 이렇게 주소 뒤에 . 을 찍지 않으면 새로운 디렉토리가 생성이 되니, 본인이 디렉토리를 이미 만들었고, 거기에 작업을 할것이라면 반드시 주소 뒤에 . 을 찍자.
코드 작업 및 수정
- add, commit, push를 반복…
팀원이 변경한 코드를 내 프로젝트에 가져오기
- git pull
- 다른 변경된 file을 먼저 가져온다.
- 위에 코드 작업 및 수정이라고 적었는데, git push를 할때 erorr가 발생한다면, git pull을 먼저 해주도록 하자.
- 혹시나 git pull할때 아래와 같은 에러가 발생한다? (첫 pull할때 보통 발생한다.)

- 그때는 위에 image를 보면 힌트에 git config pull.rebase false 를 해준다.
- 이후 다시 pull을 해주면 upload가 된다.
충돌(conflict) 해결하기
- 혹시나 git pull을 했을때 에러가 발생한다?

- 우선 발생한 파일을 확인해보고 커밋을 다시 해보자
- 보통 충돌이 일어날때는 같은 파일 내에 같은 line의 코드가 변경이 되었을때 발생한다.
- 코드의 충돌이 발생하였다!
- 예시
- 이렇게 아래와 같이 코드 변경을 하였다면?

- 그리고 git 명령어를 사용하면?

- 이런 상황이 발생하므로 아무것도 모르는 Git은 어리둥절
- 이렇게 아래와 같이 코드 변경을 하였다면?
- 그렇다면 어떻게 해결을 해야할까?
- 아래와 같이 서로가 겹친부분을 삭제를 하고 팀원간 협의하에 원하는 코드로 수정을 해서 올린다.

- 아래와 같이 서로가 겹친부분을 삭제를 하고 팀원간 협의하에 원하는 코드로 수정을 해서 올린다.
일단 이렇게 특강내용을 정리해보았다. 추후 서술할게 생긴다면 더 수정을 하도록 하겠다.
PREVIOUSGit 간단한 정리