Appia의 IT세상

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기 본문

IT_OS_ETC../[OS]Windows10&11

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기

Appia 2023. 11. 20. 07:52
반응형

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기

 

이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않아서, 이번 포스팅에서는 각 command를 직접 입력하면서, 해당 부분에 대해서 branch를 보고, 생성하고, 전환하는 방법에 대해서 살펴보도록 하겠습니다. 

 

[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?

 

[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?

[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선

appia.tistory.com

 

먼저, 이번 포스팅에서는 다음과 같은 그림의 구성으로 포스팅을 진행을 해보도록 하겠습니다. 

예제 구성도

먼저, 앞선 과정까지 했던 방법을 통해서, 저의 경우 새로운 폴더를 생성하고, 이 폴더에 git init을 통해서 repository을 초기화 하도록 하겠습니다. 

git init을 통한 git repository 초기화

 

git branch(브랜치) 보기

먼저, 현재 repository의 branch 정보를 보는 방법에 대해서 살펴보겠습니다. 

$ git branch

위의 명령어를 통해서, 현재의 git의 branch를 살펴볼 수 있습니다. 단, 아무 commit이 없을 경우에는 이 또한 표현이 되지 않습니다. 

git commit이 없는 환경에서의 git branch확인

그러면, 다른 Repository에서 이 부분을 실행해보도록 하겠습니다. 

git branch 표시

위에서 보이는 부분과 같이 현재의 repository에 branch(브랜치)에 대해서 "git branch"을 통해서 살펴볼 수 있습니다. 위에 Repository에서 master와 test라는 2개의 branch가 있습니다. 그 중에 현재는 git branch의 결과 녹색으로 표시되는 branch(브랜치)에 있습니다. 

 

그러면 다시 예제로 돌아와서, 위에서 보이는 그림에 따라서, outline.txt파일을 생성하고, 이 파일에 내용을 채워 놓겠습니다. 

예제 파일 생성 

그리고, 앞서 과정에서 진행한 바와 같이 git add와 git commit을 통해서 commit을 진행하였습니다. 그리고 나서, git log을 통해서 현재 commit 정보를 확인하였습니다. 

생성한 예제 파일 commit ( outline.txt )

그리고, 추가로 character.txt라는 파일을 생성하고, 이 부분을 commit하도록 하겠습니다. 

생성한 예제 파일 commit2.( character.txt )

위의 과정까지 2개의 commit이 존재한 것을 확인할 수 있습니다. 

앞 과정까지의 git log의 결과

그리고  나서, git branch을 보도록 하겠습니다. 현재 추가 branch는 없지만, master 브랜치는 존재합니다. 

git branch를 통한 현재 branch(브랜치) 정보 확인

그리고, 추가로 chapter1.txt라는 파일을 생성하여 이 부분을 작성하고 commit을 하도록 하겠습니다. 

chapter1의 commit

 

git branch(브랜치) 생성 / 전환 하기 

앞선 과정에서, 현재의 git branch(깃 브랜치)의 정보를 볼 수 있었다면, 이제는 git branch(깃 브랜치)을 생성해보도록 하겠습니다. 먼저 다음 명령어를 통해서 git branch(깃 브랜치)를 생성할 수 있습니다. 

$ git branch [브랜치 이름]

위와 같은 방법으로 blue라는 git branch(깃 브랜치)를 생성해보도록 하겠습니다. 

git branch(깃 브랜치 생성)

위의 과정에서 바로 git branch(깃 브랜치)가 전환되지 않습니다. 이를 위해서는 2가지 방법이 있습니다. 

$ git switch [브랜치이름]
$ git checkout [브랜치이름]

위의 명령어를 통해서 작업하고 있는 브랜치를 변경할 수 있습니다. 저의경우에는 checkout을 사용하지는 않습니다. switch와 약간의 편차가 있기 때문입니다. 일단, 그 부분은 나중에 이야기를 한번 다루어 보도록 하겠습니다. 그러면 예시를 통해서 살펴보겠습니다. 

 

별도의 repository을 바탕으로 다음 명령어를 통해서 살펴보겠습니다. 

 $ git switch master

이 부분을 보시면, Switched to branch 'master'라는 이름으로 출력이 되고, branch(브랜치)가 변경된 것을 알 수 있습니다. 

git switch 명령어를 통한 git branch(깃 브랜치) 변경

그러면 git checkout 또한 동일한 방식으로 진행을 해보도록 하겠습니다. 

$ git checkout test

위의 과정을 실행하시면, Switched to branch 'test'라는 이름으로 출력이 되고, branch(브랜치)가 변경된 것을 알 수 있습니다. 

git checkout 명령어를 통한 git branch(깃 브랜치) 변경

 

git branch(브랜치) 생성과 함께 전환 하기 

매번 새로 branch(브랜치)를 생성하고, 전환하기는 매우 번거로운점이 있습니다. 그래서, switch 명령어를 통해서 생성과 동시에 변경이 가능합니다. 다음 명령어를 보도록 하겠습니다. 

$ git switch -c [브랜치 이름]

위의 방법으로 git branch[깃 브랜치]를 생성하면서, 바로 전환할 수 있습니다. 

git branch(브랜치) 생성과 함께 전환 하기

 

다시 예제로 돌아와서, 저희는 blue라는 브랜치를 만들고, 여기에 chapter2.txt를 시험적으로 작성하도록 하겠습니다. 

예제를 표현한 chapter2 작성     

그리고 나서, 이 부분을 다시 commit을 진행하겠습니다. 보시는 바와 같이 HEAD가 blue라는 branch 래퍼런스를 지칭하고 있는 것을 알 수 있습니다. 

git log를 통한 commit 상태 확인

그러면 다시 마스터로 돌아가서, 저희는 chapter2.txt를 수정하도록 하겠습니다. 그리고 나서, 다음 부분에 대해서 chapter2.txt를 작성하고 commit하도록 하겠습니다. 

git branch 변경후 chapter2.txt

git branch(깃 브랜치)를 전환하면, 좌우 내용이 계속 바뀌는 것을 알 수 있습니다. 

git branch 전환에 따른 내용 변경

이와 같은 부분에 대해서, 앞서 포스팅한 GitKraken에서 repository을 import 해서 보도록 하겠습니다. 이와 같은 모습으로 branch가 형태의 모양을 가지고 있다는 것을 알 수 있을 것입니다. 

GitKraken의 Repository 모습

이와 같은 방법으로 git branch(깃 브랜치)을 생성하고, 전환할 수 있습니다. 

 

[깃, Git] GitKraken 다운로드 및 설치하기(with repository)

 

[깃, Git] GitKraken 다운로드 및 설치하기(with repository)

[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(

appia.tistory.com

 

이번 포스팅에서는 [깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기라는 주제로 포스팅을 해봤습니다. 이 부분은 익숙해지는 과정이기 때문에 위에 내용에 대해서 더 많은 실습을 해보시는 것을 추천드립니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments