Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

■ 브랜치 목록 만들기

다음의 명령어로 브랜치 목록을 확인.

Code Block
# git branch --list
# git branch --all, git branch -a

" * " 는 해당 브랜치가 현재 작업중(체크아웃)을 의미함.

remotes/origin 으로 시작되는 것은 remotes는 로컬이 아닌것을 의미하며,

origin은 기본규약의거, 사본이 여기에서 복제된것을 의미함.다음의 명령어는


로컬 브랜치 목록 확인.

Code Block
$ git branch 
iss53 
* master 
testing

원격 브랜치 목록을 확인.

Code Block
# git branch --remotes
origin/develop
origin/master

git branch -v 명령은 브랜치마다 마지막 커밋 메세지도 확인 할 수 있다.

Code Block
$ git branch -v


각 브랜치가 지금 어떤 상태인지 확인.

Checkout한 브랜치를 기준으로 Merge된 브랜치인지 그렇지 않은지 필터링.

--merged 와 --no-merged 옵션을 사용하여 해당 목록을 확인.

git branch --merged 명령으로 이미 Merge한 브랜치 목록을 확인한다:

Code Block
$ git branch --merged 
iss53 
* master

반대로 현재 Checkout한 브랜치에 Merge하지 않은 브랜치를 살펴보려면

Code Block
$ git branch --no-merged testing

위에는 없었던 다른 브랜치가 보인다.

아직 Merge하지 않은 커밋을 담고 있기 때문에 git branch -d 명령으로 삭제되지 않는다.

■ remote 브랜치 목록 업데이트

remote 브랜치 목록은 자동으로 갱신 되지 않는다.

목록을 업데이트 하기 위해서는 fetch 명령어를 사용한다.

Code Block
# git fetch
remote: Counting objects: 27, done.
remote: Compressing objects: 100% (20/20), done.
...

■ checkout 

checkout 명령어를 사용하여 브랜치 변환.

Code Block
# git checkout --track origin/master
# git checkout --track -b newmaster origin/master

checkout -b 는 remote origin에 저장된 master 브랜치로부터 master라는 이름의 새로운 브랜치를 생성함.

즉, origin/master브랜치로 부터 newmaster라는 새로운 로컬 브랜치를 생성함.

■ 브랜치 생성 

먼저 master 소스에서 분기하여야 하며 분기대상 브랜치를 체크아웃 한다.

Code Block
# git checkout master
# git branch newBranchName
# git checkout newBranchName


master 브랜치에서 새로운 개발 브랜치 생성.

Code Block
# git checkout -b newBranchName master

-b는 브랜치를 만들어서 checkout까지 한번에 명령을 실행하는 옵션.

브랜치 삭제

기본적으로 origin master 또는 develop 으로 개별 브랜치를 병합하게 되면, 로컬 개별 브랜치는 가지고 있을 이유가 거의 없다.

로컬 개발 환경을 위하여 깔끔하게 정리하자. 

다음의 명령어를 통하여 브랜치를 삭제할 수 있다. 단, 병합이 안된 브랜치를 삭제하고자 한다면 강력한 경고가 노출될다.

Code Block
themeRDark
# git branch --delete BranchName
# git branch -d BranchName

원격 브랜치 삭제는 다음의 명령어를 통하여 삭제할 수 있다.

Code Block
themeRDark
# git branch --delete origin BranchName
# git branch -d origin BranchName

병합되지 않는 브랜치 강제 삭제는 다음의 명령어를 통하여 삭제할 수 있다.

Code Block
themeRDark
# git branch -D BranchName