Git 브랜치의 이해 (3) - Git 브랜치 이동 및 이슈 발생, 실습

2022. 1. 20. 00:55·WEB study/Git, GitLab
728x90

안녕하세요~ 항상 나아가는 개발자 pink_salt 핑솔입니다!

코드프레소 Java 웹 개발 체험단 활동을 하고 있습니다.

이번엔 git 브랜치 이동과 이슈가 발생했을 떄 어떻게 하는지 알아보는 시간을 갖겠습니다.

이번엔 '실무자가 알려주는 Git 활용한 프로젝트 관리'의 Git 브랜치의 이해 강의를 듣고 공부한 내용을 정리하여 포스팅을 진행하겠습니다.


이전 게시물에서 feature-login이라는 브랜치를 git branch feature-login이라는 명령어를 통해 만들었습니다.

이제 feature-login으로 브랜치를 이동해보겠습니다.

브랜치 이동

git checkout feature-login(이동할 브랜치명)

브랜치 이동

git checkout (브랜치명)을 통해서 현재 작업 중인 master branch에서 feature-login 브랜치로 바뀐 것을 알 수 있습니다.

HEAD는 현재 작업중인 브랜치를 가리킵니다.

그래서 HEAD -> feature-login으로 된 것을 볼 수 있습니다.

그림으로 표현하자면 이렇게 변한 것을 알 수 있습니다.

[실습] 브랜치 이동 후 커밋 생성

일단 브랜치를 이동한 상태에서 LoginService.java라는 파일을 만들어서

"write login code 1"을 작성합니다.

작성할 때는 i를 먼저 입력하여 입력 상태로 만든 후 입력해야합니다.

그리고 마지막 코드를 작성하고 저장하고 나갈 때는 Esc + :wq 누르면 됩니다.

그리고 git add를 통해서 스테이징 영역에 올려 놓습니다.

git commit 작업을 진행을 할 것인데 커밋 메시지와 함께 진행할 것입니다.

커밋 완료 후 git log를 통해 커밋 히스토리를 보겠습니다.

마지막 3번째 커밋은 feature-login 브랜치에서 진행된 것을 확인할 수 있습니다.

그림으로 표현하자면 밑에와 같습니다.

master 브랜치로 이동

다시 master 브랜치로 이동하기 위해서는 위에서 쓴 것과 같이 git checkout을 사용하면 됩니다.

git checkout master

이러면 다시 master 브랜치로 이동하게 됩니다.

git log로 확인하면 LoginService.java가 보이지 않는 것을 확인할 수 있습니다.

 

브랜치가 master로 바뀌었기 때문에 feature-login 브랜치에서 한 커밋은 보이지 않는 것이 맞습니다.

밑의 그림과 같이 HEAD가 master를 다시 가리키는 것을 알 수 있습니다.

 

이제 master 브랜치에서 4번째 커밋을 진행해보겠습니다.

코드 추가
git add
commit 메시지

이러면 3번째 feature-login 브랜치에서 한 커밋은 안보이고 4번째 커밋까지 포함해서 보이게 됩니다.

그림으로 표현하면 아래와 같습니다.

 

모든 브랜치 history 확인하려면?

git log --all --graph

all 옵션은 모든 브랜치를 확인하고자 하는 것이고 
graph 옵션은 그래프로 어떻게 분기되고 있는지 확인할 수 있습니다.


개발 중 이슈가 발생하면?

issue 발생

브랜치 전략은 기업, 조직마다 다르기 때문에 일단 강의의 실습에 맞추어 진행하겠습니다.

  • 일단 issue 브랜치를 생성하겠습니다.
    • 이 때, 브랜치를 생성하고 바로 브랜치를 이동할 수 있는 명령어를 사용하겠습니다.
    • git checkout -b issue
    • git checkout -b 브랜치명을 작성하면 브랜치가 생성되고 바로 이동됩니다.

브랜치 생성 및 이동

[실습] issue 브랜치에서 커밋을 생성합니다.

  • vi MainService.java에 "fix issue-number 1"을 작성합니다.
  • git add MainService.java를 진행합니다.
  • git commit -m "Commit 5 on issue branch"
  • git log로 확인

 

그림으로 표현하면 밑에 그림과 같습니다. 지금 HEAD는 issue 브랜치를 가리키고 있습니다.

 


다음 게시물에서는 브랜치 병합 및 충돌 해결에 대해 공부하고 정리해서 다시 찾아뵙겠습니다!

열심히 나아가는 개발자 핑솔이었습니다.

go go!

코드프레소 URL: https://www.codepresso.kr/

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr

 

728x90
반응형
저작자표시 (새창열림)

'WEB study > Git, GitLab' 카테고리의 다른 글

Git 브랜치 활용 - GitFlow  (1) 2022.02.01
Git 브랜치의 이해 (4) - Git 브랜치 병합, 충돌 해결, Git Tag  (0) 2022.01.20
Git 브랜치의 이해 (2) - Git 브랜치 개념, 실습  (0) 2022.01.17
Git 브랜치의 이해 (1) - Git 브랜치  (0) 2022.01.17
Git 기본 플로우 이해 - (4) 원격 저장소에 commit 반영하기  (0) 2022.01.13
'WEB study/Git, GitLab' 카테고리의 다른 글
  • Git 브랜치 활용 - GitFlow
  • Git 브랜치의 이해 (4) - Git 브랜치 병합, 충돌 해결, Git Tag
  • Git 브랜치의 이해 (2) - Git 브랜치 개념, 실습
  • Git 브랜치의 이해 (1) - Git 브랜치
pink_salt
pink_salt
유익함을 주는 개발자가 되도록 keep going
  • pink_salt
    KeepGoingForever
    pink_salt
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • Project (7)
      • WEB study (3)
        • WEB(Springboot) (10)
        • Git, GitLab (13)
        • Clean code (1)
        • FrontEnd (3)
      • Study (21)
        • Algorithm (19)
        • 면접 준비 (2)
      • Cloud Computing (2)
        • AWS (2)
      • 프로그래밍 언어 (35)
        • Java (29)
        • Python (0)
        • javascript (6)
      • 운영체제 (0)
        • Linux (0)
      • Database (4)
        • MongoDB (8)
        • SQL (8)
      • 애플리케이션 개발 (1)
        • Android (1)
      • AI (1)
        • Deeplearning (1)
        • machinelearning (0)
      • Daily (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    객체지향
    오블완
    Git
    코딩강의
    IT교육
    빅오표기법
    대외활동
    코딩이러닝
    dp
    Query
    무료IT교육
    codepresso
    spring boot
    언어
    gitlab
    코드프레소
    python
    Java
    개념
    git branch
    티스토리챌린지
    BFS
    자바
    무료코딩교육
    mysql
    MongoDB
    백준
    Database
    SWEA
    SW
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
pink_salt
Git 브랜치의 이해 (3) - Git 브랜치 이동 및 이슈 발생, 실습
상단으로

티스토리툴바