~ 오늘은 3일차 ~
(1) 생성 : git branch (branch명)
(2) 생성 후 바로 전환 : git switch -c (branch명)
(3) 전환 : git switch (branch명)
(4) branch 목록 확인 : git branch --list
(5) 브랜치 삭제 : git branch -D (branch 1) (branch 2)
기타
- master일 경우 main으로 변환 : git config --global init.defaultBranch main
- 현재 git 기록 삭제 : rm -rf .git
- 커밋 로그 : git log --graph --decorate --oneline
ㄴ merge한 과정을 볼 수 있다.
① main에 branch 병합 (main으로 switch한 다음 실행) : git merge (branch명)
② merge 후 add → commit
- 다만, 보통 Merge 는
Pull Request
를 통해서 진행하기에 선택 할 일이 많이 없다.- 애초에 작업을 분담할 때 서로 다른 파일을 담당하도록, 혹은 같은 파일을 작성하더라도 다른 부분을 작성하도록 분담하는 것이 conflict를 방지 하는 것.
- 보통은 non fast-forward 형태로 병합을 진행
- ff일 때 줄기가 나눠진 형태로 merge하고 싶을 경우 : git merge develop --no-ff
main
: 사용자가 이용할 서비스의 코드가 담기는 브랜치, 해당 브랜치에 있는 코드가 사용자에게 배포develop
: 배포 전 모든 기능 통합feature
: 기능을 분할해서 각각의 기능 구현pull request
로 가서 새로 생성할 수 있다.작성 시 들어갈 내용
- 현재 PR 요약/개요
- 코드 변경 이유 (작성 이유)
- 관련 스크린샷
- 테스트 내용
- 리뷰 관련 요청사항
①
start a review
-> 코드의 여러 부분에 대해서 코멘트를 작성
② 우측 상단의finish your review
③approve
체크 후submit review
-> 본인의 것은 approve 안됨
④merge pull request
-confirm merge
-delete branch
-> 보통 주니어 개발자가 누를 일은 없음
① 우리 컴퓨터가 github 상에서 해당 브랜치들 삭제한 것 인식 하도록 가지치기 : git fetch --prune
② 로컬 브랜치 삭제 : git branch -D (branch 1) (branch 2)
③ git pull origin main 진행
issue
, milestone
등은 이름과 형식을 통일해 주는 것이 좋다.issue
명을 branch명으로 통일한다.issue
작성①
Assignees
-> 해당 작업을 담당할 사람
②label
-> 해당하는 카테고리
③milestone
-> milestone 지정
pull request
에서 issue
활용issue
가 완료된다.##개요
##이슈번호
Close (이슈번호 ex: #4 )
repo 에서 특정한 이벤트가 발생했을 때 자동으로 특정한 작업이 실행되도록 하는 기능
배포, CI/CD (자동 빌드 및 자동 배포), 테스트 등이 가능
문제점 복기를 시작해보자.
오늘은 그래도 온라인 강의와 강의 자료 예습으로 어느정도 숙지하고 시작해서 어제보단 허둥거리는 게 덜해졌다.
터미널도 PowerShell에서 Git Bash로 바꾸고 나니, 윈도우에서 먹히지 않는 명령어 rm -rf .git
등이 실행되면서 진도를 따라가기가 쉬워졌다.
에러가 난 부분은 팀과의 협업 실습에서 발생했다.
에러는 타 팀원에 의해 발생했고 마무리 작업을 내가 진행해야 하면서 직접 처리해볼 기회가 생겼었다.
결론부터 말하자면 수습을 실패해서 강사님이 직접 해주시고 갔다.
오류 내용과 해결 과정은 다음과 같다.
에러 2
내가 가지고 있는 main에서 reset을 진행했는데 어떤 문제로 제대로 해결 되지 않음.
-> 제대로 된 루트를 실행하지 않은 것으로 보인다.
해결 과정
강사님이 revert를 해보라고 했지만 이미 reset한 상태라 돌아갈 commit이 없는 상태가 되었고,
git push -f origin main으로 해결이 되었다.
git push -f 는 강의 내용에 없었는데 아무래도 강제로 하는 push이고 잘 사용하지 않다보니 내용에 포함되지 않은 것으로 보인다.
해당 에러가 났을 때,
어떤 걸 해야할 지 아직 판단이 되지 못해서 강사님이 reset과 revert를 코칭해주셨다.
분명 어제 배운 내용임에도 막상 문제가 났을 때 떠올리지 못한 게 아쉽지만 그래도 이번 일을 통해 다음에 이런 문제가 난다면 떠올릴 수 있을 거라 확신이 든다.
실습 내용을 들었을 때는 너무 간단한 내용이 아닌가 싶었지만 확실히 협업을 할 때는 어떤 에러가 날지 모른다는 걸 몸소 깨달아 재밌었다.
비록 아직까지 velog를 복습 목적으로 강의 내용을 요약하고 약간의 복기 일기로 쓰고 있지만,
나중에는 요약보다는 기술 복기가 주로 되었으면 하는 필자의 소소한 바람이 있다.