- Git
[둘이서 작업할 때]
두 명의 작업이 충돌하지 않고 협업이 가능해야 된다.
1️⃣ 누가 이 작업을 할건지? = ISSUE 작성
2️⃣ 각자 맡은 작업 진행 = Branch (나만의 작업공간 할당)
3️⃣ 각자 진행 한 프로젝트 합치기 = Merge
1. ISSUE
누가 이 작업을 할건지 + 프로젝트에서 해결 해야되는 문제 + 프로젝트에서 개선 되야 할 점
[Issue Commit 하기]
| Issue 작성은 이슈마다 번호가 붙음 👉 #1, #2... |
| 수정 내용을 PUSH 할때 Commit 메세지에 #이슈번호 를 붙여주면 그 이슈번호에 자동으로 커밋 됐다는 메세지가 업로드 됨 |
2. Branch
각자 맡은 역할을 진행 할 본인만의 작업공간을 할당한다.
| 1) commit 우클릭 |
| 2) branch 생성 : branch 파일명은 폴더명/이슈번호_파일명 (feature/2_work) 👉 '/' 앞은 폴더명으로 한 폴더에 여러 브랜치 생성 가능 |
| 3) branch생성 후 파일 커밋 |
| 4) main 작업공간에선 알지 못함 : branch생성으로 새로운 작업공간이 생겼기때문 |
| 5) 새로 생성된 branch에서만 새로운 commit 내용을 알고 있음 |
[Branch 삭제]
다른 Branch 체크아웃 후 삭제 할 Branch로 돌아와 우 클릭 후 delete (강제 삭제도 가능)
+ 삭제 할 Branch에 체크아웃 되어 있으면 삭제가 되지 않음
추가) 체크아웃 은 해당 Branch에 들어가겠다는 의미
3. Merge
Branch 병합 = Merge
| 내가 최종적으로 병합할 Branch에 먼저 체크아웃 해주고 merge click 👉 병합 완료 |
| 병합 완료 후 👉 따로 만들었던 본인의 작업 공간은 삭제 해주기 |
[2개 이상의 파일을 Merge할 땐]
| 1) 내가 최종적으로 병합할 Branch에 먼저 체크아웃 해주고 merge click |
| 2) merge 창에서 어떤 파일은 merge 할건지 선택 후 병합 |
| 3) 다른 merge할 파일들도 1),2)번을 반복해서 작업해 준다. |
| 4) 완료 후 본인이 작업했던 branch 공간은 delete |
2개 이상의 Branch 에서 작업할 때 동시에 같은 파일을 수정하지 않도록 주의 해야됨
하지만, 충돌상황이 발생 할 수 있음⚠️
[Merge conflict]
Merge conflict은 버그를 고칠 수 있냐 없냐가 중요❗️
| 1) 병합 했는데 Conflict가 난다면 경고 창 확인 후 다시 Commit 창으로 들어온다. |
| 2) Commit 창에 Conflict난 경고 파일 들이 있는데 double click으로 파일을 열어준다. |
| 3-1) 경고 파일에는 ======= 를 기준으로 위아래에 각각 다른 branch에서 수정 된 내용들을 보여준다. |
| 3-2) ======= 위에는 main branch에서 commit한 내용 / ======= 아래에는 나의 branch에서 commit 하려는 내용 |
| 4) 파일에 있는 내용들을 보고 잘 판단해 경고메세지를 지우고, 내가 원하는 내용들만 남겨둔채 commit 하면 conflict 해결 ⚠️하지만, 내용추적을 위해 먼저 있는 내용으로 conflict 해결해 주고 다음 commit에서 수정해주기 ⚠️ |
+ [PR 후 → Merge 하기]
2개 이상의 파일을 Merge할 때(2명 이상 작업 할 때) 내 작업 내용을 반영해달라고 PR
| 내 브랜치 공간에서 PR |
| 다른 원격 repo에 PR |
- GitHub
1. Issues 작성
Issues 👉 New Issues 👉 Title / Comment 작성 및 작성자, 상태 등 설정 + (끝난 Issues는 closed 해주면 됨)
2. Tracking
로컬 repo | Git ➡️tracking➡️ 원격 repo | Github
로컬 repo가 원격 repo를 트래킹 중이다 : 반영 중이다.
3. PR 후 → Merge 하기
| 내 브랜치 공간에서 PR | 다른 원격 repo에 PR |
| github에서 다른 작업자의 Pull Request로 이루어진다. Pull Request의 댓글로 서로 조율 해 merge 한다. |
다른 원격 repo를 fork 여기선, merge 권한이 없기 때문에 상대방의 merge Pull request를 기다려야 한다. |
fork 란? github에 상대방의 브랜치를 복사 한 뒤 나의 git 공간에 PULL 해오는 동작
→ 상대방 브랜치에 바로 수정 할 수 없으니 복사 한 뒤 내가 그 위에 새롭게 개발
'woncoding > TIL' 카테고리의 다른 글
| TIL | 9.13.화 [Python 심화] (0) | 2022.09.13 |
|---|---|
| TIL | 9.10.토 [Git / GitHub] (0) | 2022.09.12 |
| TIL | 9.8.목 [Git / GitHub] (0) | 2022.09.09 |
| TIL | 9.7.수 [Python 활용] (0) | 2022.09.07 |
| TIL | 9.6.화 [Python 활용] (0) | 2022.09.06 |