| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- react
- 자바스크립트
- GIT
- 알고리즘
- 자료구조
- 개발 공부
- 코딩테스트
- Github
- 모던 자바스크립트 딥 다이브
- 리액트
- 패스트캠퍼스
- 공식문서
- MegabyteSchool
- useRef
- 이벤트
- next.js
- CSS
- 모던 딥 다이브 자바스크립트
- 입문
- TypeScript
- 프론트엔드
- JavaScript
- useMemo
- 개발자취업부트캠프
- 메가바이트스쿨
- styled-components
- 내일배움카드
- 프로그래머스
- 비전공자
- 국비지원교육
Archives
- Today
- Total
개발 기록 남기기✍️
Git 기초 (3) - 차원 넘나들기 본문
1. 여러 Branch 만들어보기
1-1. Branch : 분기된 가지 (다른 차원)
- 프로젝트를 하나 이상의 모습으로 관리해야 할 때
* 예) 실배포용, 테스트 서버용, 새로운 시도용 - 여러 작업들이 각각 독립되어 진행될 때
예) 신기능 1, 신기능 2, 코드 개선, 긴급 수정
각각의 차원에서 작업한 뒤 확정된 것을 메인 차원에 통합
=> 이 모든 것을 하나의 프로젝트 폴더에서 진행될 수 있도록 함.
1-2. 브랜치 생성 / 이동 / 삭제
브랜치 생성
git branch (브랜치명)
브랜치 목록 확인
git branch
브랜치 이동
git switch (이동할 브랜치명)
브랜치 생성과 동시에 이동하기
git switch -c (브랜치명)
브랜치 삭제
git branch -d (삭제할 브랜치명)
브랜치 강제 삭제
: 지워질 브랜치에만 있는 내용의 커밋이 있을 경우, 즉 다른 브랜치로 가져오지 않은 내용이 있는 브랜치를 지울 때는 -d 대신 -D로 강제 삭제해야 한다.
git branch -D (삭제할 브랜치명)
브랜치 이름 바꾸기
git branch -m (기존 브랜치명) (새 브랜치명)
1-3. 여러 브랜치에서 작업
git switch를 통해 브랜치를 이동하면서 작업 후 결과를 살펴보려고 한다.
git log는 위치한 브랜치에서의 내역만 볼 수 있다.
여러 브랜치의 내역 편리하게 보기
git log --all --decorate --oneline --graph
2. Branch를 합치는 두 가지 방법
서로 다른 브랜치를 합치는 두 방식
- merge : 두 브랜치를 한 커밋에 이어붙인다.
* 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식. - rebase : 브랜치를 다른 브랜치에 이어붙인다.
* 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합한 방식.- 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋다.
2-1. merge로 합치기
add-coach 브랜치를 main 브랜치로 merge하려고 한다.
- main 브랜치로 이동한다.
- 아래의 명령어로 병합
git merge add-coach - :wq로 자동입력된 커밋 메시지 저장하여 마무리
❗merge는 reset으로 되돌리기가 가능하다.
- merge도 하나의 커밋
- merge 하기 전 해당 브랜치의 마지막 시점으로 되돌릴 수 있다.
병합된 브랜치는 삭제한다.
git branch -d add-coach
2-2. rebase로 합치기
new-teams 브랜치를 main 브랜치로 rebase하려고 한다.
- merge와는 다르게 new-teams 브랜치로 이동한다.
- 아래의 명령어로 병합
git rebase main - 소스트리에서 상태 확인해보면 main 브랜치는 뒤쳐져 있는 상황이다.
- main 브랜치로 이동 후 아래 명령어로 new-teams의 시점으로 fast-forward한다.
git merge new-teams - new-teams 브랜치 삭제
3. 충돌 해결하기
브랜치 간 충돌
- 파일의 같은 위치에 다른 내용이 입력된 상황
3-1. merge 충돌 해결하기
- 당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단
git merge --abort - 해결 가능 시 충돌 부분을 에디터로 수정한 뒤 git add ., git commit으로 병합 완료
3-2. rebase 충돌 해결하기
- 당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단
git rebase --abort
해결 가능 시
- 충돌 부분을 수정한 뒤 git add .
- 아래 명령어로 계속
git rebase --continue - 충돌이 모두 해결될 때까지 반복
- main에서 git merge 합칠 브랜치명으로 병합한 뒤 브랜치 삭제
'기초 지식 > git' 카테고리의 다른 글
| [Git] fork 해온 repository 잔디 심는 방법 (0) | 2023.01.10 |
|---|---|
| [Git] Git-flow란? / 다루는 방법 (0) | 2022.12.17 |
| Git 기초 (4) - GitHub 사용하기 (0) | 2022.12.09 |
| Git 기초 (2) - Git 시간 여행하기 (0) | 2022.12.09 |
| Git 기초 (1) - Git 시작하기 (0) | 2022.12.09 |