학습 내용 요약
- Git을 활용한 전체적인 협업 흐름
- Issue
- Branch
- Merge
Git을 이용해서 협업하는 과정을 먼저 살펴보자.
보통 git을 이용해서 위의 단계에 따라 프로젝트를 진행한다. 각 단계에 맞는 명칭이 바로 ① issue, ② branch, ③ merge 이다. 이제 단계별로 알아보자.
1) 설명
개발 및 관리할 기능, 발생한 문제나 버그, 작업 담당자 배정 등을 논의하고 정하는 작업. issue에서는 문제를 제기하거나 어떤 제안을 할 수 있는 곳(pull request)이기도 하다.
2) 사용법
제목에 '#번호' 를 붙이면 이슈 번호가 되는데, 나중에 commit 메시지에 적어서 작업 내역과 링크로 연결되는 기능을 활용할 수 있다.
1) 설명
issue에서 정한 대로 작업을 나눠서 하는 공간을 만드는 것
2) 사용법
o 표시된 곳이 현재 작업 중인 공간이고, 해당 브랜치로 '체크아웃' 된 상태라고 한다. 그리고 체크아웃 된 브랜치에만 commit이 반영된다.
※ 체크아웃: 작업할 공간으로 접근하는 것
1) 설명
나눠서 했던 작업을 하나의 공간으로 합치는 작업. 즉, 각 브랜치의 작업 내역을 기준 브랜치로 모아서 합치는 것이다.
2) 사용법
※ 주의할 점은 서로 다른 브랜치에서 같은 파일을 작업하면 병합 시 충돌이 발생할 수 있다.
이를 해결하는 방법은 다음과 같다.
위처럼 작업한 후, 결국 마지막으로 원격 repo에 반영시켜야 최종적으로 넘어가는 것이다. 그래서 로컬에서 병합까지 한 후 원격 repo로 넘겨주자.
원격 repo에 기준 브랜치 반영
지금까지 살펴본 내용을 자세히 보면, 기준 브랜치라는 말이 있었다. 즉, 나눠서 작업한 곳도 브랜치고, 작업의 기준이 되는 곳도 브랜치인 것이다.
그러므로, 1주차 강의에서 배웠던 tracking, push/pull은 결국 로컬 repo와 원격 repo의 브랜치를 기준으로 연결하고, 작업 내역을 반영시키는 것이다.
어렵거나 완전히 이해 못한 내용
개념을 공부하고, 직접 실습하고, 내용을 정리하고 복습하는 과정을 거치니 git을 활용해서 작업하는 것이 어렵지 않았다. 아직 git을 더 다양하게 활용하지 못할 뿐이지만, 협업할 때 여러 기능들을 팀원들과 같이 써보면 더 잘 알 수 있을 것이다.
참고 자료
https://guides.github.com/features/issues/
https://terry-some.tistory.com/93