git cheat sheet3
이 포스트는 여러 절로 구성되어 있습니다.
git에 대한 자세한 내용은 다음 책을 참고 바란다.
본 절에서는 브랜치 작업과 관련된 명령어를 정리하였다.
1. Setup
git branch
: 브랜치 목록 표시git branch [브랜치명]
: 해당 브랜치 명으로 브랜치 생성git checkout [브랜치명]
: 해당 브랜치로 전환git checkout –b [브랜치명]
: 브랜치 생성과 동시에 전환git branch -m [브랜치명] [새로운 브랜치명]
: 브랜치명 변경git branch –d [브랜치명]
: 해당 브랜치 삭제
2. Merge, rewrite
2.1 merge
git merge [브랜치명]
: 현 브랜치에 해당 브랜치의 내용 병합
git merge --ff [브랜치명]
: fast-forward 관계에 있으면 commit을 생성하지 않고 현재 브랜치의 참조 값 만 변경(default)
git merge --no-ff [브랜치명]
: fast-forward 관계에 있어도 merged commit 생성
git merge --squash [브랜치명]
: fast-forward 관계에 있어도 merged commit 생성, merging 브랜치 정보 생략
2.2 rebase
git rebase [브랜치명]
: 현재 브랜치가 해당 브랜치(브랜치명)에부터 분기하도록 재배치git rebase --continue
: 충돌 수정 후 재배치 진행(commit 대신)git rebase --abort
: rebase 취소
2.3 cherry-pick
git cherry-pick [commit hash]
: 해당 commit의 내용을 현재 브랜치에 추가. 뒤에 commit hash 를 연속 입력하면 복수 추가 가능git cherry-pick [commit hash start].. [commit hash end]
: 해당 구간의 commit을 한번에 추가git cherry-pick –-abort
: 충돌과 같은 상황이 발생했을 때 cherry-pick 취소git cherry-pick –-continue
: 충돌 상황 해결 후 cherry-pick 진행git cherry-pick –m [parent number] [merge commit ID]
: merge commit을 추가. merge commit의 경우 어떤 부분의 merge를 가져올지 알 수 없다. 그래서 parent number를 추가해야 한다.(1부터 시작하며 main line이 1)