Git Branch


Git & Github #03


Git Branch


Creating branch

$ git branch new-branch #새로운 branch 생성
$ git checkout new-branch #branch 변경
$ git switch new-branch #branch 변경
$ git checkout -b fix-branch #branch 생성 후 이동
$ git branch -C fix-branch #branch 생성 후 이동

Managing Branch

$ git branch #관리되고 있는 branch 목록
$ git branch -a #서버와 연결되어 있는 branch 목록
$ git branch -v #각 branch에서 최신 commit 확인
$ git branch --merged #merge된 branch 확인
$ git branch -no-merged #merge되지 않은 branch 확인
$ git branch -d test-branch #특정 branch 삭제
$ git push origin --delete test-branch #삭제된 branch 원격에 업데이트
$ git branch --move test-branch fix-branch #branch 이름 변경
$ git push --set-upstream origin fix-branch #새로운 이름 원격에 업데이트

Merge Branch

$ git merge feat-branch #현재 branch와 특정 branch를 merge
$ git merge --no-ff feat-branch #merge commit 생성
$ git merge --abort #(conflict 시) merge 취소
$ git merge --continue #(conflict 시 변경 파일 add 후) merge 진행

Rebasing (Three-way merge → Fast-forward merge)

  • 다른 개발자와 같은 branchまたは서버에 업로드된無効!
  • 로컬에 있는commit提供
  • commit 없이merge!
  • example
    $ git switch feat-b
    $ git rebase main #feat-b를 main에 rebase
    $ git switch main
    $ git merge feat-b #main에 feat-b를 fast-forward merge
    $ git branch -d feat-a
    $ git branch -d feat-b #해당 branches 삭제
    $ git rebase --onto main feat-a feat-aa #feat-a에서 파생된 feat-aa를 main에서 파생된 것으로 변경