_won_
wonprogrammer
_won_
전체 방문자
오늘
어제
  • 분류 전체보기
    • woncoding
      • TIL
      • WIL
    • source Code
      • Python
      • Programmers
      • BAEKJOON

블로그 메뉴

  • 방명록

티스토리

Github · Wonprogrammer
hELLO · Designed By 정상우.
_won_

wonprogrammer

woncoding/TIL

TIL | 9.9.금 [Git / GitHub]

2022. 9. 11. 00:31

- 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
    'woncoding/TIL' 카테고리의 다른 글
    • TIL | 9.13.화 [Python 심화]
    • TIL | 9.10.토 [Git / GitHub]
    • TIL | 9.8.목 [Git / GitHub]
    • TIL | 9.7.수 [Python 활용]
    _won_
    _won_
    Coding Practice blog

    티스토리툴바