git&github

[Git] 협업 실전 가이드

kinggoddino 2024. 7. 5.

◇  pull request 해서 github에서 merge를 하면 문제가 있음.

 

◇  이유

main브랜치가 배포용이기 때문임.

*배포용 : 웹사이트를 실제 사용자들이 쓸 수 있게 올려놓는 것.

 

◇ 팀원 각각의 브랜치에서 바로 main으로 merge를 할 때의 문제점

 

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

- 회원가입, 로그인, 로그아웃 다 만드는데 오래걸릴때. 

회원가입만 개발한 상태에서는 main에 merge 할 수 없다. 사용자들이 당황할테니까...

그럼 결국 셋다 만들고 merge해야 한다는 뜻인데 그렇게 하면 버그 수정하는 데 오래걸린다..

하나만 만들고 합쳐보면 문제가 생겨도 원인을 찾는데 얼마 안걸리는데ㅜㅜ

 

해결책 1) 개발용 브랜치

기능 브랜치에서 작은 단위의 기능을 만들고 develop 브랜치에 합치면서 작업 후, 

기능이 모여서 이제 완성해서 배포해도 되겠다 싶을 때 main 브랜치에 합칠것이다.

 

문제2) 그냥 합치면 위험함

다른 브랜치에서 우연히 같은 변수이름을 사용해버렸을 때..

무조건 합치면 에러가 날 가능성이 높음.

 

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

dev 브랜치에서 로컬(내 컴퓨터)로 가져와서 충돌 나는지 먼저 테스트한다.


1. 팀장 : 초기 코드 작성 및 github 업로드

a. 폴더 생성

b. 초기 코드 작성

c. git init, add, commit

d. github 레포지토리 생성

e. github 업로드 (git push)

 

2. 팀장 : dev 브랜치 생성

a. git switch -c dev (로컬에서 dev 브랜치 생성)

b. git push origin dev (github에 개발용 브랜치 반영)

 

3. 팀장 : github에서 dev 브랜치를 default로 설정

하씨.. 잘못찍었다..

 

코드에 들어가보면 main에서 dev 가 default 가 되어있음을 확인할 수 있다.

 

4. 팀원들을 collaborator로 등록

 

5. 팀원 : git clone <주소> .


이제 기능개발 시작!

 

1. 기능 브랜치 생성 및 기능 개발

git swich -c 브랜치명

코드 짜고, add, commit, push origin 브랜치 하면 됨.

 

2. pull request 생성

merge 하는 base 가 main 이 아닌 dev 인지 확인.

 

 

팀원들에게 알림을 보내준다. 코드리뷰 해달라고 요청 알림 보내기.

 

 

알림받은 사람은 pull request 에서 files changed 누른다. 코드 리뷰해주기.

comment : 애매할때.

approve : 승인하다. 코드 잘 짜셨네요. 합치세요

request changes : 바꿔주세요. 요청하기.

피드백대로 수정하고

 

이제 합칠거임. 근데 그 전에

기능브랜치에서 git pull origin dev (다른사람이 dev에 push한게 있나? 불러오기)

 

먼저 내 컴퓨터로 가져와서 합쳐보고 , 그 다음에 push하기.

왜냐면 내가 오류충돌을 push 해버리면 안되니까ㅠㅠ

오류가 난다면 해결 후,

add

commit

git push origin 내브랜치

github에서 merge 버튼 클릭


3. 추가기능 개발할 때

 

일단. 내 컴퓨터의 dev는 최신상태가 아닐 것이므로

git switch dev 

git pull origin dev

git switch -c 새로운기능

 


 

'git&github' 카테고리의 다른 글

[Git] Pull Request (merge)  (0) 2024.07.05
[Git] 브랜치 활용하기  (0) 2024.07.05
[Git] GitHub로 협업하기  (0) 2024.07.05
[Git] GitHub로 백업하기  (0) 2024.07.05
[Git] Git 필수 명령어  (1) 2024.07.02