#16 Git - Branch 정보 확인

김현준·2022년 12월 23일
0

GIT

목록 보기
16/41

branch 를 만들면 편리성을 가질수있지만 또한 복잡성도 크게 생깁니다.

효율적으로 사용하기 위해 만든 여러가지 기능들은 복잡도를 초래할 수 있습니다.

이번 시간에는 branch 를 만들었을때 현재 어떤 상황인지를 판단할 수 있기 위한 확인 방법을 몇가지 알아보겠습니다.

git log 를 그냥 사용하면 어떤것이 masterlog 인지 , 어떤 것이 explog 인지 확인이 불가능합니다.

이때 git log --branches --decorate 를 써줍니다.

그러면 우측에 초록색 글씨로 어떤 branchcommit 했는지를 알려줍니다.

또한 HEAD -> master 이라는 뜻은 현재 우리는 mastercheckout 되어있다는 의미입니다.

조금더 잘 보기 위해서 git --branches --decorate --graph 명령을 실행시켜보겠습니다.

좌측에 빨간색과 초록색의 선이 보입니다. 이 명령어는 여러가지의 branch 가 서로 다른 commit 을 했을때 더 시각적으로 나타납니다.

git checkout masterbranch 를 바꿔준후 새로운 파일 믄달어서 a 라는 문구를 하나 넣어보겠습니다.

새로 만든 파일이기 때문에 addcommit 를 따로 해줍니다.

git log 를 실행시 커밋메세지 3,4 가 없는 이유가 뭘까요?
git log는 기본적으로 현재 branch 에서 실행한 커밋메세지만 보여주기 때문입니다.

조금 길게 봤을때

금방 만든 커밋메세지 66의 조상은 바로 이전에 만든 커밋메세지 55 입니다.
이는 왼쪽에 잘보면 * 모양으로 구별가능합니다.

또한 branchexp_2 일때의 조상은 exp 의 커밋메세지 33 인것을 확인 할 수 있습니다.

git log --branches --decorate --graph --oneline 을 실행해보겠습니다.

한줄로 더 간략하게 branch 의 정보를 확인할 수 있습니다.

만약 두개의 branch 가 어떤 차이가 있는지 궁금하다면 git log master..exp 를 사용하면됩니다.

이는 master 에는 없고 exp 에는 있는것을 가르킵니다.
앞서 graph 명령을 실행시킨 결과를 다시 보시면 exp 는 커밋메세지 33 으로 새로운 분기점이 생긴것을 확인 할 수 있습니다.

반대로도 가능합니다. git log exp..master 실행시 exp 에는 없고 master 에는 있는 것을 알려줍니다.

따라서 커밋메세지 55 , 66 이 출력됩니다.

만약 소스코드까지 필요하다면 -p 옵션을 추가하면됩니다.

--- /dev/null , +++ b/f6.txt 가 의미하는 바는
exp 에서는 파일이 없는데 master 에서는 f6.txt 파일이 생성되었고 b 라는 문자가 추가되었다는 의미입니다.

diff 명령을 활용할 수 있습니다. git diff master..exp 를 실행해보겠습니다.

master 에는 abcd 가 전부 있지만 exp 에서는 d,e 가 없다는 것을 확인 할 수 있습니다. 첫번째가 master 이고 두번째가 exp 입니다.
그리고 빨간색 표시는 exp 의 변화를 뜻합니다.

현재까지 branch 의 정보를 확인하는 방법에 대해 알아봤습니다.
그다음에는 branch 병합에 대해 알아보겠습니다.

profile
울산대학교 IT융합학부 22학번

0개의 댓글