2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

[Git & Github] Github 협업 심화 과정

2024. 3. 10. 15:12ㆍgit & github
SMALL

* GitHuB 협업 *

Step 1. 브랜치 활용하기

(복사본 === 브랜치)

 

1-1. 브랜치(복사본) 생성 명령어

"git branch 브랜치이름"

git branch 브랜치이름"

 

1-2. 브랜치 이동 명령어

"git switch 브랜치이름"

혹은

"git checkout 브랜치이름"

"git switch 브랜치이름"
"git checkout 브랜치이름"

 

1-3. 브랜치 한 번에 생성 & 이동

"git switch­ -c 브랜치이름"

혹은

"git checkout -­b 브랜치이름"

"git switch­ -c 브랜치이름"
"git checkout -­b 브랜치이름"

 

1-4. 새로운 브랜치에서 코드 수정

현재 login 브랜치

 

1-5. 새로운 브랜치에서 수정된 코드 저장

git add.

git commit­m “저장 메세지”

 

더보기

여기서 궁금한점!

main브랜치로 이동하면 login 브랜치에서 수정한 코드가 남아있을까?

login을 수정하면
main이 바뀔까요?

 

답 = NO

login을 수정하더라도 main은 바뀌지 않습니다.

1-6. 브랜치 이동하여 비교하기

git switch 브랜치이름

git checkout 브랜치이름

 

브랜치 비교하기

 

1-7. 브랜치 합치는 명령어

git switch 최종브랜치이름 - main

git merge 합칠브랜치이름 - login

코드 짠 브랜치를 main에 합치기


Step 2. Pull Request 활용하기

2-1. Pull Request란?

* Pull : 당겨서 합치는 것 (merge)

* Request : 요청하다

 

2-2. 터미널 보다 github사이트에서 합치는 방법을 선호.

(여담 : git merge는 잘 쓰지 않습니다.)

 

github에 업로드 후 터미널에서 git push origin 브랜치명

 

Github으로 이동

결과
Merge 결과

 

코드확인

로컬 main브랜치로 이동 -> git checkout 브랜치명

로컬 main브랜치로 이동

 

Github 코드 반영 -> git pull origin 브랜치명

Github 코드 반영 ->  git pull origin 브랜치명

 

이렇게 하면 github를 합칠 수 있습니다.

[정리]

1. 브랜치 생성 및 이동

2. 기능 개발 및 코드 저장

3. 코드 업로드 및 Pull request 생성

4. github에서 merge

5. 내 로컬에도 반영 ex)git pull origin main


Step 3. 협업 실전 가이드

* 협업하면서 많이 발생하는 문제점 간단정리 *

문제점 1) 완벽하게 기능 개발해야 merge 가능

 

해결책 1) 개발용 브랜치

 

문제점2) 그냥 합치면 위험 합니다.

 

해결책2) 로컬에서 먼저 테스트


[가이드 - 초기세팅]

팀장이 초기 코드 작성 및 github 업로드

a. 폴더 생성

b. 초기 코드 작성

c. git init, add, commit

d. Github 레포지토리 생성

e. Github 업로드 (git push)

 

1. 팀장이 dev(혹은 develop)브랜치 생성

git switch­ -c dev (로컬에서 dev브랜치 생성)
git push origin dev (github에도 반영)

 

2. Github에서 dev브랜치를 default로 설정

Github에서 dev브랜치를 default로 설정 2-2
Github에서 dev브랜치를 default로 설정 2-3

 

3. 팀원들을 collaborator로 등록

3-1. 팀원들을 collaborator로 등록
3-2. 팀원들을 collaborator로 등록

 

3-3. 팀원들을 collaborator로 등록

 

4. 팀원 = git clone 진행하기

4-1. git clone 주소 .

 

5. 기능 개발 시작

[기능 브랜치 생성 및 기능 개발]

5-1. 기능 브랜치 생성 및 기능 개발 / git switch­ -c 기능브랜치명
기능 브랜치 생성 및 기능 개발

 

6. Pull request 생성

6-1. Pull request 생성
6-2 Pull request 생성

 

6-3. Pull request 생성

 

7. 코드 작성자 : 리뷰 요청하기

7-1. 리뷰 요청하기

 

7-2. 리뷰 요청하기
7-3. 리뷰 요청하기
7-4. 리뷰 요청하기

 

8. 합치기 전 내 로컬에서 충돌 해결 및 테스트

기능브랜치에서 git pull origin dev

 

9. merge

a. 수정 사항이 있는 경우 Gitadd,commit,push

b. Github에서 merge 버튼 클릭

 

 

 

10. 추가 기능 개발

[내 로컬의 dev에도 변경 사항 반영]

a. dev브랜치로 이동 (git checkout dev 혹은 git switch dev)

b. git pull origin dev

내 로컬의 dev에도 변경 사항 반영

 

11. 다음 기능 개발

a. 기능 브랜치 생성 및 코드 작성

b. Gitadd,commit,push

c. Pullrequest생성 및 코드 리뷰

d. 내 로컬에서 충돌 해결 및 테스트

e. 코드 업로드 및 merge

728x90