Merge commit with semi-linear history
git
Merge commit with semi-linear history
Merge commit with semi-linear history 는 rebase 를 사용하며 merge 커밋을 남기는 전략이다.
With --no-ff
Generate a merge commit even if the merge resolved as a fast-forward.
merge 시에 --no-ff
옵션을 주면 fast-forward 관계더라도 merge commit 이 남는다. -m
옵션을 같이 주면 머지 커밋 메시지를 남길 수 있다.
Commands:
git checkout -b feature/xxx # Create feature branch
git commit -m "Message" # Commit
git rebase origin/develop # Rebase (from remote)
git checkout develop
git merge --no-ff feature/xxx # Merge - Generated merge commit
# git merge --no-ff -m "Merge branch 'branch-name' into 'master'"
feature 브랜치에서 작업도중, 원격 브랜치(e.g develop)에 다른 누군가가 커밋한 경우 feature 브랜치를 Push 하기 전 아래와 같이 작업할 수도 있다.
git commit -m "Message" # commit in feature branch
git remote update
git rebase origin/develop # Rebase Remote Branch Develop
# conflict resolve (충돌 해결한 파일을 git add)
git rebase --continue # 충돌 해결 후 rebase 진행
# push feature branch