본문 바로가기

Git, Version control/Github

[github] branch 관리하기

반응형

branch 통합하기 (Fast-forward)

git에서 origin/main 에서만 issue들을 commit하다가 origin/main의 끝단에서 branch를 파게됐다. 이 branch 이름을 "visualize"라고 하자.

 

visualize branch에서 작업하던것을 origin/main으로 다시 병합해서 origin/main 하나만 관리하고 싶을 때는 다음과 같은 명령어를 이용하면 된다.

 

git checkout main  # main 으로 HEAD 이동

git merge visualize

 

Fast-forward 라는 결과문구와 함께 과정이 수행되는 것을 볼 수 있다.

Fast-forward 란 단순히 최근 branch가 과거 branch에서 파생됐을 뿐이고 복잡한 병합과정 없이 이 둘을 하나의 branch로 취급해주기만 하면 되는 작업일 때 저런 문구가 뜬다.

 

로컬 브랜치 삭제하기

어쨋든 위의 과정을 통해 main branch가 visualize branch까지 이동했고 둘의 위치는 같아졌다.

이 때 하나의 branch로만 관리하는 것이 편하기 때문에 visualize branch를 삭제하고 싶을 수 있다. 이럴 때는 아래의 명령어를 통해 가능하다.

git branch -d visualize

단 이 명령어는 HEAD branch와 병합되지 않은 branch에는 적용이 불가능하다. 그러나 위의 과정을 통해 visualize는 main branch와 병합됐으므로 적용이 가능하다.

 

또한 로컬 브랜치를 삭제할 때는 HEAD가 해당 branch에 있으면 삭제가 불가능하다.

따라서 visualize이라는 브랜치를 삭제하고 싶다면 main으로 돌아와서 visualize 브랜치를 삭제해야 한다.

 

원격 branch 삭제하기

아래와 같은 상황에 있다고 하자.

여기서 origin/visualize 라는 원격 브랜치를 삭제하고 싶을 때 쓰는 명령어는 다음과 같다.

git push origin --delete visualize

 

결과화면을 보면 동일 위치에서 origin/visualization은 삭제되고 로컬 visualization 브랜치만 남은것을 확인할 수 있다.

 

 

 

로컬 브랜치 생성해서 원격 브랜치로 올리기

로컬 브랜치 만드는 명령어는 아래명령어로 쉽게 생성이 가능하다.

git branch server

 

그럼 로컬에 server라는 브랜치가 새로 생기는건데 이 브랜치는 로컬에만 존재하고 원격저장소에는 존재하지 않는다. 따라서 원격에 올리기 위해서는 아래의 명령어가 필요하다.

git push origin server

 

참고 블로그 : https://trustyoo86.github.io/git/2017/11/28/git-remote-branch-create.html

 

 

 

그 외 branch관련 명령어들 정리

 

원격 브랜치 보기

git branch -r

 

로컬 브랜치 보기

git branch -a

 

브랜치 생성하기

git branch <생성할 Branch 이름>

 

브랜치로 이동하기

git checkout <branch 이름>

 

원격저장소에 브랜치정보 업데이트하기

git push --set-upstream origin <branch 이름>

 

브랜치 이름 변경하기

git branch -m <현재 branch name> <변경 후 branch name>

 

브랜치 삭제하기

git branch -d <branch_name>

 

원격 브랜치 삭제하기

git push <remote_name> — delete <branch_name>

 

참고 블로그 :

www.tuwlab.com/ece/22216

medium.com/@pks2974/%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EA%B8%B0%EC%B4%88-git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC%ED%95%98%EA%B8%B0-533b3689db81

반응형