티스토리 뷰

개발냥발

오픈소스 4주차 보고서

승이버섯 2023. 9. 25. 14:36

이번 주에는 깃과 깃허브의 꽃인! ‘협업’과 ‘브랜치(branch)’에 대해 알아보았다!

< 깃과 깃허브로 협업하기 (feat. 브랜치) >
깃과 깃허브로 협업하는 흐름과 그 속에서의 브랜치의 역할을 복습하겠다. 그 흐름은 아래와 같다.
이 과정 속에서 여러 git 명령어들이 쓰이는데, 상당히 많은 명령어들이 있기 때문에, 꼭 짚고 넘어가고 싶은 명령어들이나, 몰랐던 명령어들만 간단하게 언급하려고 한다.

1) (개발자) 로컬 개발 환경 설정
- 기여하고 싶은 레포 fork 후 git clone
- git remote add로 원격저장소 추가

⭐️git fetch VS git pull
* fetch : 원격 저장소에 있는 최신 버전을 로컬로 가져와서 업데이트할 때 쓴다. 자동으로 merge하지 않기 때문에 안정적이기 때문에 권장.
* pull : fetch + 현재 작업 코드와 merge / 코드가 합쳐지기 때문에 주의해서 사용


2) (개발자) 이슈 확인하기
-github issue에서 해결해야할 일 확인

3) (개발자) 작업 branch 만들기
-브랜치 전략 수립


⭐️브랜치(branch)란?

- master 또는 main 브랜치가 기본값
- git branch : 새 브랜치 생성 (생성 후 이동 X)
- git switch : 브랜치 변경
- git log —online —graph —all : 한눈에 확인하기
⭐️ 브랜치가 안정적일수록 커밋이 뒤처진다!

💜이번 수업에서 브랜치에 대한 개념을 제대로 알 수 있어서 좋았다.
용도나 단계별로 브랜치를 나눠서 작업하는 것은 저번 학기 서버시스템구축실습에서 직접 부딪히면서 익혔는데, 브랜치가 커밋을 왔다갔다할 수 있는 포인터이고,  SHA-1 체크섬, 즉 해시값에 불과하다는 것은 처음 알았다.

4) (개발자) 코드 수정하고 Push하기
- git push [원격 저장소 별명] [브랜치 이름] : 원격 저장소에 내가 로컬에서 작업한 걸 올리기
- git branch -vv : 로컬 브랜치 목록과 추척하고 있는 원격 브랜치를 보여줌

5) (개발자) Pull Request 만들기
⭐️커밋은 가능한 한 작은 단위로 쪼개서 할 것!!
- merge가 가능한지 확인 후 PR요청

⭐️한 브랜치에서 다른 브랜치로 합치기 : merge VS rebase
-> 최종 결과물은 같으나, rebase가 커밋 히스토리가 더 깔끔!(권장)

🔥Merge Conflict : 수동으로 해결해야..!🥲

6) (메인테이너, 팀원) 코드 리뷰 하기
- 깃허브 코멘트

7) (개발자) 코드 리뷰 반영하기
- 작업 중간에 다른 요청이 들어와서 브랜치를 변경해야할때!! -> Stashing (임시 저장)
- git stash push : 작업 중인 내용 임시 저장 (이후 가장 최근 커밋으로 돌아감)
- git stash apply : stash에 적용했던 내용 복원
- git stash apply —index : staged 상태까지 복원
- git stash drop : 해당 stash 삭제
- git stash pop : 내용 복원 후 stash 제거

💜스태싱에 대한 개념과 원리를 자세히 알 수 있어서 좋았다! 사실 스태싱을 몰랐을 때에는, 작업하다가 다른 요청이 들어와서 코드를 고쳐야할때, pull했을 때 conflict되는 게 무서워서..🥲 로컬에서 작업하던 코드를 다른 메모장에다가 옮겨둔 뒤, working directory에 작업하던 코드들은 다 삭제하고 pull 받은 뒤 다시 코드를 옮겨넣는 그런 번거로운 노동을 했었는데, 이제 앞으로는 그럴 일이 있으면 스태싱을 이용하면 되니까, 배운 것을 이용할 생각에 기분이 좋다!

8) (메인테이너) Pull Request Merge하기
- Merge하면 머지 커밋이 생기고, issue도 closed됨

9) (개발자) 작업 branch 삭제하기
- git branch -D [브랜치 이름]






 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함