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
- PYTHON
- 백엔드 인턴십
- Jar배포
- Comprehension
- 행렬곱
- 프리온보딩
- sqlalchemy
- 집계함수
- 조건연산
- API
- numpy
- 프로그래머스
- 파이썬
- cerbot
- 파이써닉코드
- spring boot
- Postman
- 클래스
- todo project
- yaml
- 함수
- Django
- 토이프로젝트
- mock server
- 람다함수
- 코딩테스트
- self
- 컴프리헨션
- EC2
- RDS
Archives
- Today
- Total
build my life
[Git] merge(Fast-forward, rebase, squash) 본문
728x90
Fast-forward
merge할 브랜치의 commit이 현재 branch의 commit 보다 앞설 경우, 현재 브랜치의 커밋을 merge할 브랜치 commit으로 이동하겠다는 의미
1. main에서 먼저 작성 후 commit
git add .
git commit -m "메세지"
2. test1 branch 생성 후 파일 수정한 다음 commit
git checkout -b test1
git add .
git commit -m "메세지"
3. main으로 이동 후 test1 merge
git checkout main
git merge test1
=> main의 HEAD를 test1의 HEAD로 이동한다는 의미
=> 실제로 main branch에서 log를 확인하면 test1에서 작성한 커밋 메세지가 표시됨
=> test1의 merge commit이 생성되지 않음
💡 만약, merge commit을 남기고 싶을 경우엔 '--no-ff' 옵션을 주면 된다.
=> 브랜치가 그대로 남기 때문에 해당 브랜치에서 실행한 작업을 확인할 때 사용git merge --no-ff test1
# --ff-only : ff인 경우에만 병합, merge commit 생성 안함 git merge --ff-only {branch} # --squash : 여러개의 커밋을 하나로 합치는 기능 git merge --squash {branch}
rebase
두 브랜치를 합치는 방법 중 하나로 브랜치의 공통 조상이 되는 base를 다른 브랜치의 커밋 지점으로 바꾸는 것
즉, test3에서 변경한 내용을 main의 마지막 커밋 지점으로 바꾼다는 의미
$ git checkout test3
$ git rebase main
$ git checkout main
$ git merge test3
=> rebase 같은 경우에는 혼자 작업하는 상황에서만 사용!
[ 참고 자료 ]
https://victorydntmd.tistory.com/78?category=682764
https://backlog.com/git-tutorial/kr/stepup/stepup1_4.html
https://wonyong-jang.github.io/git/2021/02/05/Github-Merge.html
https://wonyong-jang.github.io/git/2021/02/05/Github-Rebase.html
728x90
'실습' 카테고리의 다른 글
[Python] Open API 실습 - ③ NAVER Developers (0) | 2022.08.23 |
---|---|
[Python] Open API 실습 - ② 공공데이터포털 (0) | 2022.08.23 |
가상환경 구축과 git 사용법 실습 (0) | 2022.08.19 |
[Python] API 실습(request 라이브러리 사용) - ① (0) | 2022.08.18 |
Open API (0) | 2022.08.18 |