일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- self
- 코딩테스트
- 파이썬
- mock server
- Django
- 파이써닉코드
- RDS
- Postman
- 행렬곱
- 클래스
- 람다함수
- Jar배포
- 컴프리헨션
- numpy
- sqlalchemy
- cerbot
- 조건연산
- 프리온보딩
- EC2
- 백엔드 인턴십
- 함수
- spring boot
- 프로그래머스
- API
- yaml
- todo project
- PYTHON
- 집계함수
- Comprehension
- 토이프로젝트
- Today
- Total
build my life
[Git] merge(Fast-forward, rebase, squash) 본문
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
[Git] 명령어(4) - merge, conflicts
1. Merge와 Conflicts이번 글에서는 local repository에서 branch를 생성하여 작업을 한 후, 두 브랜치를 통합하는 merge에 대해 알아보도록 하겠습니다. merge를 하는 도중에 충돌( conflicts )이 발생할 수 있습
victorydntmd.tistory.com
https://backlog.com/git-tutorial/kr/stepup/stepup1_4.html
누구나 쉽게 이해할 수 있는 Git 입문~버전 관리를 완벽하게 이용해보자~ | Backlog
누구나 쉽게 알 수 있는 Git에 입문하신 것을 환영합니다. Git을 사용해 버전 관리를 할 수 있도록 함께 공부해봅시다!
backlog.com
https://wonyong-jang.github.io/git/2021/02/05/Github-Merge.html
[Git] Merge(3-way merge) 이해하기 - SW Developer
다른 형상 관리툴들과는 달리 git은 branch를 생성할 때 파일을 복사하는 것이 아니라 파일의 스냅샷만 가지고 생성하기 때문에 자원의 부담없이 branch를 만들어 사용할 수 있다. 이러한 장점 때문
wonyong-jang.github.io
https://wonyong-jang.github.io/git/2021/02/05/Github-Rebase.html
[Git] Rebase와 Conflict 해결 방법 - SW Developer
이전글에서는 브랜치를 병합하는 방법 중 Merge와 Squash Merge 방법에 대해서 살펴보았다. 이번 글에서는 Rebase를 이용하여 브랜치를 병합하고 충돌시 해결 방법에 대해서 살펴보자. 또한, rebase intera
wonyong-jang.github.io
'실습' 카테고리의 다른 글
[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 |