Frontend 개발자 - hyo.loui
Git - issue, branch, merge (협업 하기) 본문
❤️🔥TIL : Today I Learned
Issues
- 이슈는 쉽게 누가 이 작업을 할 것인지 정하는 것
- 해결을 위한 작업 단위
- issue 는 내가 할 작업, 기능 추가, 버그 리포트 등 여러 방식으로 사용할 수 있습니다.
- 협업을 하기 위해 issue 를 만들어 누가 작업할지 정하고, 브랜치를 만들어 작업할 공간을 나눕니다.
프로젝트에서 각자 개발 담당의 역할을 정하거나
문제가 발생했을 경우 github 에서 issue 를 활용하여 게시글처럼 활용이 가능합니다
참여자를 할당하고 태그를 삽입하여 어떠한 문제(상황)인지 간편하게 표시하며
댓글(코멘트)을 남길 수 있습니다! 잘 활용한다면 정말 멋진 프로젝트가 될거에요~
- Git 은 프로젝트 버전 관리, 작업 단위 나누기, 협업 등 유용하게 사용되는 하나의 프로그램 입니다
- Github 은 Git 으로 된 프로젝트를 공유할 수 있도록 저장 공간을 제공하고, Git 편하게 사용하기 위한 여러가지 부가기능을 가지고 있어요. Github 를 사용하기 위해서는 Git 이 협업할 때 필수입니다. + 개발자들의 sns 입니다.
커밋 메세지에 이슈번호를 삽입하면 해당 이슈에 자동으로 업로드되어 이슈를 최신화 할 수 있습니다
이렇게 #과 함께 해당하는 이슈번호를 입력하면 자동으로 github 에 있는 이슈로 커밋내역이 업로드 됩니다
git commit -m "layout resizing #1"
branch
- 브랜치는 각자 맡은 것을 작업한다.
- 기능 도는 목적에 맡게 브랜치로 나누어 작업할 수 있다.
- 협업을 하기 위해 issue 를 만들어 누가 작업할지 정하고, 브랜치를 만들어 작업할 공간을 나눕니다.
- 브랜치(branch)는 특정 commit 에서 갈라져나와 작업할 수 있습니다.
- 우리는 기능별로 이름을 만들어주어 브랜치에 작업 해야 합니다.
- 작업할 브랜치로 바꾸는 것을 체크아웃(checkout)이라고 합니다. 체크아웃된 브랜치에만 commit 이 반영됩니다.
브랜치 관련 명령어
브랜치 생성
git branch <branchname>
브랜치 전환하기
git checkout <branch>
브랜치 삭제하기
git branch -d <branchname>
브랜치명은 규칙을 가지고 잘 이름 지으면 프로젝트 관리가 쉬워집니다. 작업이 완료되면 작업한 브랜치는 merge 가 끝나면 보통 삭제해줍니다. 이로써 나중에 브랜치 설정이 꼬이는 것을 방지할 수 있습니다. 그럼 아래에서는 merge 에 대해서 알아보겠습니다.
merge
머지가 머지(?)== 브랜치와 브랜치를 합치는 것!
각자 작업을 branch 로 분류하여 나뉘어 작업이 종료된 후 merge 라는 기능으로 브랜치를 합쳐야 합니다
통상 main 브랜치에 작업 내역을 모두 합치는 것으로 정하고,
main 브랜치에서는 작업하지 않고 merge 하는 용도로써 프로젝트의 기준이 됩니다
- 1. merge 명령 전 기준이 되는 branch 로 checkout 해야 합니다
git checkout <main>
- 2. merge 명령으로 기준 브랜치에서 해당 브랜치를 불러옵니다.
git merge <branchname>
- 3. git conflict
충돌 해결하기!
merge 하는 과정에서 서로 다른 브랜치가 동일한 파일또는 내용을 수정한 것을 발견하면,
merge conflict 로 알려줍니다!
간단하게 해결 하는 방법은 해당 파일을 비교하고 직접 수정 후 add, commit 순서대로 처리하는 것 입니다
"=========" 기준
위에 표시 된 내용이 main 브랜치에서 한 작업
아래 표시 된 내용은 merge 할 브랜치에서 한 작업
최종 정리
- issue : 문제해결을 위한 작업 단위
- branch : 나뭇가지, 기능과 목적에 맞게 나눠 작업하는 작업 분리영역
- merge : 작업이 종료 된 브랜치와 브랜치를 합치는 것
'Git' 카테고리의 다른 글
Git - commit 관리, 협업 매너, Github 에서 정보 나누기 (1) | 2022.11.22 |
---|---|
Git - 버전관리, commit, pull, push (2) | 2022.11.17 |