본문 바로가기
Git Study

Git - #7. 브랜치(생성, 이동, 삭제)

by KMS_99 2023. 9. 12.

Git - #7. 브랜치(1)

깃에서는 차원을 이동하기 위해서 브랜치를 사용한다.

마치 나무에서 가지들이 갈라져 나오는 것과 같이 원하는 시점에서 여러 차원으로 나누는 개념이다.

 

그렇다면 우리가 브랜치를 분기하는 이유가 무엇일까?

크게 두가지가 있다.

 

1. 하나의 프로젝트를 여러 형태로 사용할 때

실제 운영되는 프로젝트에서 여러 개발자들이 각각 새로운 기능을 추가하여 실험을 해야할 때 main 브랜치를 그대로 두고 새로운 테스트 브랜치에서 실험을 한다.

 

2. 현업에서 여러 개발자가 역할 분담하여 프로그래밍 할 때

사용자에게 전달되는 실제 배포용 버전을 가지고 추가할 새로운 기능마다 브랜치를 분기하여 개발자가 가가 작업을 할 수 있다. 각자 분기된 브랜치에서 작업을하고 마지막에 기능을 합친다면 충돌의 위협을 최대한 줄이며 개발할 수 있다.

 

이 글을 통해서 브랜치의 생성, 이동, 삭제에 대하여 알아보자.


1. 기본셋팅

먼저 Git-branch-test라는 새로운 폴더를 만들어 default.yaml 파일을 생성하였다.

해당 파일을 생성하고 다음 과정을 거쳐 첫번째 커밋을 해보자.

1. git init (폴더 전체를 깃의 관리를 받겠다는 명령어)

2. git add . (모든 변경사항을 깃에 등록하는 명령어)

3. git commit -m "first-commit, default" (commit)

 

내용을 수정하여 두번째 커밋을 해보자

git commit -am "second-commit" 을 사용하면 git add 문을 사용하지 않고도 수정된 사항을 자동으로 저장하여 commit이 가능하다.

 

 

 

2. 브랜치 생성

- git branch "새로운 브랜치 명"

위 명령어를 사용하며 "test branch"를 만들어보자

이제 브랜치가 잘 생성되었는지 확인해보자.

 

- git branch

위 명령어를 사용하면 현재 프로젝트에 있는 모든 브랜치들의 이름을 띄어준다.

또한 소스코드도 브랜치의 현황을 확인 할 수 있다.

이때 터미널에서 *은 현재 어떤 브랜치에 위치하는지 보여준다.

 

위와 같은 방법으로 error-branch도 만들어주자.

브랜치를 생성하였지만 아직 모든 branch가 second commit에 위치하고 분기하지 않은 상태이다.

 

3. 브랜치의 이동

우리가 생성한 각각의 브랜치로 이동하는 법도 간단하다

 

-git switch "이동할 브랜치명"

위 코드를 이용하여 test-branch로 이동을 해보자.

이때 git bash의 우측 마지막에 (main)이라고 써있는 것이 현재 브랜치 위치를 나타낸다.

명령어를 실행시켜보자.

우측 끝이 (test-branch)로 변경된 것을 볼 수 있다.

git branch 명령어를 통해 * 의 위치도 변경된 것을 볼 수 있다.

 

다시 main 브랜치로 이동하자

 

4. 브랜치의 이름변경, 삭제

다음 내용을 공부하기 앞서 delete-branch를 생성해보자

 

브랜치의 이름을 불가피하게 바꾸어야 하는 상황이 생길 수 있다.

그 때 사용할 수 있는 명령어가 있다.

 

- git branch -m   "기존 브랜치 이름"   "새로 변경할 브랜치 이름"

 

delete-branch를 erase-branch로 이름을 변경하고 git branch 명령어를 통해 확인해보자.

이름이 성공적으로 변경된 것을 확인 할 수 있다.

 

 

이제 해당 브랜치를 삭제할 것이다.

 

- git branch -d "삭제할 브랜치 이름"

 

erase-branch를 삭제하여보자. 

git branch 명령어를 실행시켰을 때 erase-branch가 삭제 된 것을 확인 할 수 있다.


마지막으로 알아볼 것은 브랜치의 분기이다.

우리가 브랜치를 생성하고 삭제하는 법을 알고 각 브랜치로 위치 이동을 할 수 있다.

이제 브랜치 별로 다른 차원에 있다는 것을 느껴보자.

 

먼저 main 브랜치에 위치한 상태에서 main.yaml 파일을 추가하고 커밋해보자

이제 test-branch로 이동해보자.

main branch에서 새로 작성했던 main.yaml 파일은 test-branch에서 없다.

이 상태에서 default.yaml의 text를 "이곳은 test-branch 입니다." 로 변경하고 commit을 해보자.

다음으로 test-branch에 test.yaml을 생성하고 다시 commit을 진행한다.

 

이제 우리가 작업했던 내용을 소스트리에서 확인해보자.

소스트리의 페이지를 새로고침한다.

나무 처럼 생긴 그래프가 생긴 것을 확인할 수 있다.

현재 브랜치는 test-branch 이기 때문에 해당 브랜치가 파랑색 일직선으로 보여지고 있으며,

main branch는 분홍색 가지처럼 나와있는 것을 볼 수 있다.

또한 error-branch는 아직 분기하지 않았기에 second commit에 남아있는 것을 알 수 있다.

 

결론적으로 각각의 브랜치는 서로 다른 차원이기 때문에 생성된 이후 부터는 다른 브랜치에서 커밋한 내용에 영향을 받지 않는다는 것을 알 수 있다.

 

'Git Study' 카테고리의 다른 글

Git - #9. 깃허브 연동 (회원가입과 토큰)  (1) 2023.09.22
Git - #8. 브랜치 병합 (merge, rebase)  (0) 2023.09.14
Git - #6. Reset, Revert  (0) 2023.09.07
Git - #5. 버전 만들기 (Commit)  (0) 2023.08.30
Git - #4. gitignore  (0) 2023.08.29