티스토리 뷰
브랜치 종류
- main(구: master) : 프로젝트 최종 배포 중심 브랜치
- develop: 개발이 진행되는 브랜치, 배포할 수준의 기능을 갖추면 relese 브랜치로 머지
- feature: 기능을 개발하는 브랜치, develop 브랜치에서 파생되는 브랜치며 develop 브랜치로 머지
- release: 개발된 내용을 배포하기 위해 준비하는 브랜치, 충분한 테스트를 통해 버그를 검사하고 배포할 준비가되었다고 판단하면 main으로 머지하여 배포한다. 버그 수정 내용을 develop 브랜치에도 반영하고, 최종적으로 main에 머지
- hotfix: 출시 버전(main)에서 버그를 수정하는 브랜치, main브랜치에서 생성되며, 수정이 완료되면 dev, main 브랜치에 수정 사항을 반영
브랜치 네이밍
- feature: feature/{기능 요약} or feature/{issue-number}-{기능 요약}
- release: release-{버전} or release/{버전}
- hotfix: hotfix-{버전}
과정
- main 브랜치에서 개발 시작
- 기능 구현 및 버그가 발생하면 issue를 작성한다.
- dev 브랜치로부터 feature 브랜치를 파생하고, feature 브랜치에서 기능구현
- PR 후, feature 브랜치에서 dev 브랜치로 merge
- 개발이 끝나면, dev 브랜치로부터 release 브랜치를 생성해 최종 테스트 진행
- 테스트 성공 -> release 브랜치에서 main으로 머지
- main 브랜치에서 버전 태그를 추가하여 배포
- main 브랜치에서 버그가 발생하면 hotfix 브랜치에서 버그를 수정한다. 버그 수정이 끝나면 dev, main 브랜치에 merge 하고 main 브랜치에서는 버전을 추가하여 배포
commit message
구조
<type>(<scope>): <subject> # 헤더
<BLANK LINE>
<body> # 본문
<BLANK LINE>
<footer> # 바닥글
- <type>: 해당 commit 의 성격을 나타낸다. 아래 중 하나
- <body>: 헤더에서 생략한 상세 내용작성
- <footer>: 어떤 이슈에서 왔는지와 같은 참조 정보를 추가하는 용도 e.g.) 특정 이슈를 참조하려면 cloase #{이슈번호}와 같이 추가하면 된다.
- 어떻게 보다는 무엇과 왜를 설명하는 내용쓰기
Commit Type
- feat - 새로운 기능에 대한 커밋
- fix - 버그 수정
- test - 테스트 코드, 리팩토링 테스트 코드 추가
- refactor - 코드 리팩토링
- chore - 빌드 업무 수정, 패키지 매니저 수정
- style- 코드 포맷팅, 세미클론 누란, 코드 변경이 없는 경우 (코드 의미에 영향을 주지않는 변경사항)
git add . #변경 사항 전체를 stage 상태로 전환
git commit -m "커밋 제목
#커밋 제목 밑에 추가 부연설명을 달기 위해서는, 제목에 "엔터(줄바꿈) 2번" 한 후에 설명을 적으면 된다.
부가 설명"
git push origin main #원격저장소에 커밋 보내기
+
git commit -am "커밋 메세지" #add와 commit 동시 실행
git diff #commit간 차이 확인
git log #커밋 목록 확인, 시간 순으로 최신 commit 기록부터 내림차순으로 나열 HEAD가 가리키는 커밋이 가장 최신 커밋
git log 파일이름 #특정 파일 로그 확인
#amend는 개인이 작업할 때만 사용해야 한다.
git commit --amend #가장 최근 커밋을 수정하는 편리한 방법
git commit --amend -m "바뀔 커밋 메세지" #-m 옵션을 추가하면 편집기를 열지않아도 명령줄에 새 메세지를 전달할 수 있다.
#브랜치 & 깃 상태 확인
git branch #전체 브랜치 목록
git status # 현재 브랜치 위치 확인 및 commit 상태 확인
# 변경 사항이 있을 경우 or 브랜치를 파생할 때
git pull origin {현재 브랜치}
- 내가 어떤 브랜치에 있는 지 알고 싶다면 git status
- 상세한 커밋 목록을 확인하고 싶다면 git log
Issue
키워드를 사용해 PR을 이슈에 연결하기
Linked pull request을 통해 수동으로 작업하는 것 말고도,
PR 혹은 commit message에서 키워드를 사용해 이슈에 연결가능
키워드 목록
- close
- closes
- closed
- fix
- fixes
- fixed
- resolve
- resolves
- resolved
{키워드} #{이슈 넘버}
🤯기본 브랜치(repository's default branch)에 merge될 경우 참조된 이슈가 자동으로 close된다.
dev & feature 브랜치 생성
git branch develop # develop 브랜치 생성
git checkout develop # develop 브랜치로 전환
git pull origin main # 현재 브랜치(develop)로 리모트 레포지토리의 main(상위) 브랜치 가져오기
git push origin develop # 새롭게 만든 브랜치를 리모트 레포지토리로 push
'프로그래밍 > Git, Github' 카테고리의 다른 글
[Github] 깃허브 PR(pull request) 연습 reviewer 관련 내용 (0) | 2023.02.08 |
---|---|
[Github | CLI] Github 공식 CLI: gh (0) | 2023.02.03 |
[Git] merge와 rebase의 차이, 깔끔한 Git history를 위한 Rebase 사용법 주의사항 (0) | 2022.12.01 |
[Github] 강제 push하기, git 브랜치 내용 덮어쓰기 (0) | 2022.08.10 |
[Git] .gitignore가 적용되지 않을 때 with sourcetree (0) | 2022.05.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 틸드와 캐럿
- 프리온보딩 프론트엔드 챌린지 3월
- float 레이아웃
- Prittier
- 부트캠프항해
- 원티드 FE 프리온보딩 챌린지
- 프리렌더링확인법
- D 플래그
- 타입스크립트 DT
- 형제 요소 선택자
- 원티드 프리온보딩 FE 챌린지
- grid flex
- getStaticPaths
- fs모듈 넥스트
- 항해99프론트
- 항해99프론트후기
- nvm경로 오류
- 원티드 3월 프론트엔드 챌린지
- && 셸 명령어
- 타입스크립트 장점
- aspect-ratio
- text input pattern
- is()
- nvm 설치순서
- 항해99추천비추천
- reactAPI
- ~ ^
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- getServerSideProps
- tilde caret
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함