본문 바로가기

CodeTech/Git

Git - 8 [branch]

branch 

- branch란 가지라는 뜻으로 git에서는 원본(master)에 가지(branch)를 쳐서 

다른방향으로 개발해 나가는 뜻이다.

 

- 위 그림과 같이 한가지에서 다른 곁가지로 실험적인 코드를 개발하며 원본을

손상시키지 않고 코딩을 할때 유용하며 특히 다른 사람과 코딩을 할때

해당 사람들과 코드가 겹치지 않아 매우 유용하게 쓰인다.

- 또한 개발하는 종류가 다양할 때 즉, 유료 버전 혹은 무료 버전이라던가 교사용, 학생용

등 개발하는 버전을 관리 할 때도 매우 유용하다.

 

git branch [branch_name]

- 브렌치를 생성하기 위한 명령어로 해당명령어로서 master 로부터 새롭게 나아갈 수 있다.

 

git checkout [branch_name]

- master 혹은 다른 branch에서 새로운 branch_name으로 옮겨 갈 수 있다. 

git branch

- branch들의 목록을 볼수 있다.

- 원본은 위와 같이 master라고 표시되며 왼쪽에 * 표시가 있다.

 

git branch -m <newName>

- branch의 이름을 새로운 이름으로 변경할 수 있다.

git push origin -u <newName>

 

- 이렇게 된다음 커밋하고 push하면 연결되어있는 remote repository는

oldName 브랜치하나 newName 브랜치 하나 총 두개의 브랜치가 생긴다.

 

 

git push origin --delete <oldName>

- 이렇게 하면 oldName의 branch가 지워지고 default branch 설정이

자동으로 newName branch로 바뀐다.

 

git branch -d [branch_name]

- 선택한 브렌치를 삭제할 수 있다.

- test라는 브렌치를 만들었다가 삭제한 모습이다.

 

 

원본 깃 파일안의 README.md파일을 아래와 같이 수정해본후 branch에서 만 commit 해보자

이렇게 되면 new_branch에만 commit이 들어간 것이다. 원본(master) README.md 파일이

수정되었는지 알아보자

실제 내 컴퓨터에 있는 수정한 파일은 new_branch와 같이 되었지만 git에서 관리되는

master (원본)은  잘 유지되고 있는 것을 확인 할수 있다.

 

이제 원본에는 없고 new_branch에만 수정된 REMDME.md파일을 원본에도 똑같이 적용해보자

즉, new_branch에 commit된 내용(마지막으로 commit)을 master branch에도 적용시켜보자

 

git merge [branch_name]

- 현재 있는 branch에 합치고 싶은 brach_name에 있는 commit을 합쳐라

- 실제로 바뀌었는지 확인해보자

- 위와 같이 실제로 바뀌었다.