일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Next.js13
- 제로베이스
- JavaScript
- 프론트엔드
- lodash
- 알고리즘문제풀이
- 리액트
- Next
- 자바스크립트 알고리즘
- 자바스크립트 문제풀이
- 자바스크립트
- 자바스크립트코딩테스트
- 자바스크립트 문제 풀이
- CSS
- leetcode문제풀이
- stack문제
- 타입스크립트
- 자바스크립트 문제
- NPM
- JS
- react
- next13
- 자바스크립트 연결리스트
- 자바스크립트 알고리즘 문제
- HTML
- 리액트쿼리
- til
- leetcode
- 프로그래머스
- Baekjoon
- Today
- Total
코드노트
TIL / Branch, git flow, brew 본문
Branch
- 분기점을 생성하고 독립적으로 코드를 변경할 수 있도록 도와주는 모델
- 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다
Branch command
git branch
- 현재 브랜치 확인
git branch 이름
- 브랜치 생성
git switch 이름
- 브랜치 이동할 때
git branch -D 브랜치이름
-브랜치 지우기
git merge 브랜치이름
- 다른 브랜치로 작업한 결과물을 가져온다.
- 가져올 브랜치로 이동 -> 가져올 브랜치 이름을 명령
git branch --merged
- merge된 branch 표시
git branch -no--merged
- merge되지 않은 branch 표시
브랜치 이동 후, git push origin -u 브랜치이름
- 브랜치 github에 올리기 / main으로 이동 후!
git branch -r
- 리모트 저장소 branch 정보
gir branch -a
- 로컬, 리모트 저장소의 모든 branch 정보
브랜치 작업 순서
브랜치 치기 -> 작업 -> merge -> add -> commit -> push
git flow
- 브랜치 모델을 쉽게 사용할 수 있도록 명령어를 정하고 구현해놓은 git의 확장버전 이다.
- 간단한 명령어를 통해서 브렌치 모델에서 필요한 브랜치 동작들을 수행하고 버전별로 관리가 가능하다.
git flow 는 5개의 브랜치가 사용
- master
정식 배포가 되는 코드가 관리되는 곳, 배포해도 될 만큼 안정성이 충분히 검증된 코드들만 병합되어야 한다!
- develop
개선된 코드, 버그 수정 코드, 기능 추가 코드 등 PR요청을 거치게 되면서 병합되는 곳
- feature
여러명의 개발자들이 공동, 혼자 작업할 수 있는 브랜치, feature에서 코드를 작성하고 develop로 merge한다.
- release
릴리즈를 하기 위한 목적으로 생성되는 브랜치, develop 기반으로 생성, 테스트 이후 릴리즈 브랜치 코드가 안정적이다면 master 브랜치에 병합 후 릴리즈에 해당하는 태그 생성, 릴리즈 브랜치가 생성 및 반영 후에는 develop브랜치에도 반영
- hotfix
master기반으로 생성, 긴급한 패치들이 이루어지는 곳!
* git flow
(hotfix)- master -(release)- develop - feature
git flow m1 사용자라면!
m1이라면?
- 여기 블로그에서 정리를 정말 잘해두었다! brew 설치후에도 실행이 안된다면 꼭 확인해보자!
brew 설치 링크
git flow 기본 동작 순서 및 방식 정리
- git flow init 전에는 브랜치 정리. main 외에는 삭제
- git flow init 이후 이름들을 확인하고 enter!
- develop 브랜치가 생긴걸 확인!
(feature는 develop에서 쳐진다.)
- git flow feature start nav 명령어로 nav 생성
- 그 후 브랜치를 확인해 보면 feature/nav 명으로 브랜치가 쳐진걸 볼 수 있다.
- 파일 수정 후, add, commit -> git flow feature finish nav를 하게 되면 feature/nav 브랜치는 지워지고 자동으로 develop에 적용
- git flow release start v0.1 릴리즈 노트 등록
- commit 후 git flow release finish 버전 등록 후 commit에서 첫번째는 enter 두번째는 relase 작성, 세번째는 tags 정보
- git push -u origin develop
- main 으로 브랜치 변경 후 push
- git tags버전 확인 후 tags도 push
브랜치 사용시 충돌 해결하기!
- 브랜치를 사용하다보면 CONFLICT 충돌이 나는 경우가 자주 있다.
- 당황하지 말자! 다른 브랜치에서 같은 파일을 수정하거나 작업하게 되면 나오는 거니깐..!
- 충돌 된 내용도 git status로 Unmerged에서 확인하고 수정하면 된다!
git 은 단순하면서도 친절하다 모든 내역은 남아있다. 당황하지말고 구글링하자..!!
git flow command
git flow init
- 프로세스 별로 사용할 브렌치 이름을 입력할 수 있다.
* 대부분 기본 이름으로 사용되기 때문에 이 과정을 건너띄려면 git flow init -d 명령어를 사용하자!
git flow feature start 이름
- 특정한 기능을 개발하기 위한 브랜치가 필요한 경우에는 feature를 이용
- 새로운 개발을 위한 브렌치가 생성된다.
git flow feature finish 이름
- 작업이 완료 되면 사용하는 명령어
- 명령어가 실행되면 develop 브렌치로 체크아웃 한 후 feature 브랜치의 변경된 내용을 자동으로 develop에 merge한다.
- 그 후 작업이 끝난 브랜치는 삭제된다.!
git flow feature publish 이름
- 여러 개발자와 공동으로 개발하고 싶을때 원격 서버에 게시할 수 있다.
git flow feature pull origin 이름
- 다른 사용자가 게시한 기능을 가져오는 명령어
git flow release start 버전(v0.1)
- release start를 하게 되면 develop 브렌치의 내용을 기반으로 release/브랜치 이름 의 새로운 브랜치가 생성하고 checkout한다.
git flow release finish 버전(v0.1)
- release 점검이 끝났으면 finish한다.
git flow 에서 reset과 revert
- 누구나 실수한다 그러나 실수도 남겨놓자! 나중에는 뼈와 살이 된다.. 그렇겠지?
reset 존재 자체를 지워버리는, 어떤 기록도 남지 않는다.
revert 지우고 기록을 남긴다.
▶ commit되돌리기
git revert --no-commit HEAD ~3...
- --no-commit 커밋하지 않고!!
- 하나의 커밋은 HEAD가 아닌 이름으로, 여러개의 커밋을 지울 땐 이렇게 사용하자.
'Code note > TIL, WIL' 카테고리의 다른 글
WIL 팀프로젝트 진행중, 쇼핑몰 그리고 github 후기 (1) | 2023.02.13 |
---|---|
WIL 바닐라 자바스크립트로 구현한 영화 검색사이트 (0) | 2023.01.11 |
WIL 메가바이트스쿨 css, scss, 클론코딩 (0) | 2022.12.28 |
TIL / git, github 시작하기 2 (0) | 2022.12.13 |
TIL / git, github 시작하기 1 (0) | 2022.12.13 |