Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 구글 로그인 후 js
- 특화프로젝트
- 구글 로그인 후 redirect
- http://localhost:8080/js/app/index.js
- Cannot determine URI for
- 줄바꿈
- /js/app/index.js
- 자동으로 줄내리기
- 줄변경
- System
- 취업퇴소
- 구글 로그인 후 경로
- sysout
- 삼성청년소프트웨어아카데미
- SSAFY
- Word Wrap
- 중도퇴소
- 사피
- cannot determine url for
- 회고
- System.out.println
- 싸피
- sysout자동입력
- Java
- 7기
- 이클립스
Archives
- Today
- Total
IT탐험
병합과 충돌(merge, rebase) 본문
- merge : 분리된 각각의 브랜치에서 수정된 사항을 하나의 브랜치로 합치는 것을 병합이라 함
-
<!-- 현재 브랜치를 기준으로 다른 브런치의 모든 커밋을 병합 --> git merge 브랜치이름
- Fast-Forward (빨리감기) 병합 : 기준 브랜치에 추가된 커밋이 없을때 파생 브랜치의 순차적 커밋에 맞추어 병합을 처리함
- 3-way 병합 : 공통 조상 커밋과 새로운 두 브랜치를 하나로 병합한다고 해서 3-way 병합으로 불림
- 병합이 완료되면 새로운 커밋을 하나 생성하여 병합 커밋이라 부름
- 병합 커밋은 부모 커밋이 2개인 특징이 있음
-
<!-- 병합 메시지 기록 --> git merge 브랜치이름 --edit <!-- 병합 후 브랜치 삭제 --> git branch -d 브랜치이름 <!-- 실행한 병합 취소 --> git merge --abort <!-- 브랜치 병합 여부 확인 --> git branch --merged <!-- 병합하지 않은 브랜치 확인 --> git branch --no-merged
-
- 브랜치를 합치는 방법은 merge와 rebase로 나뉨
- rebase : 커밋의 트리 구조를 재 배열하는데 변경 결과가 병합과 유사함
- base : 새로운 브랜치가 파생되는 커밋을 의미함
- 리베이스가 실행되면 파생 브랜치의 커밋들은 기준 브랜치의 마지막 커밋으로 재정렬 되며 커밋ID(해시)가 변경됨
- 리베이스 후 HEAD 포인터를 옮기기 위해 Fast-Forward 병합을 진행하고 필요없는 브랜치를 삭제하면 선형 구조로 브랜치가 완성됨
- 충돌 발생 시 충돌 수정 후 'git rebase --continue' 로 계속 진행함
-
<!-- 3개의 커밋을 하나로 묶기 --> git rebase -i HEAD~3
- 리베이스는 커밋 위치와 해시값을 변경하기 때문에 저장소를 외부에 공개한 후부터 사용하지 않는 것이 원칙임
'공부내용정리 > Git' 카테고리의 다른 글
배포와 태그(tag) (0) | 2021.12.28 |
---|---|
복귀(reset, revert) (0) | 2021.12.28 |
스태시(stash) (0) | 2021.12.27 |
브랜치(branch, checkout) (0) | 2021.12.26 |
서버 저장소(GitHub, remote, push, clone, pull, fetch, merge) (0) | 2021.12.26 |
Comments