-
[Git Branch] (3) Git Branch 브랜치 사이 이동하기 - git checkoutGit&GitHub/Git Branch 2022. 5. 18. 15:05728x90
<브랜치 사이 이동하기 - git checkout>
브랜치를 만들었으면 각 브랜치 사이를 오가면서 작업할 수 있어야겠지요? 브랜치 사이를 이동하는 방법을 알아보겠습니다.
1. git log로 확인해 보면 master 브랜치를 비롯해 ms, google, apple 브랜치가 'work 3' 커밋 상태에서 만들어진 것을 알 수 있습니다. 즉 이것은 master 브랜치 뿐만 아니라 ms,google,apple 브랜치에도 최신 커밋이 'work 3'라는 것입니다.
2. 현재 우리는 master 브랜치에 있다는 점 기억하고 계실겁니다. 커밋을 하나 만들어서 어떻게 달라지는지 확인해보겠습니다. work.txt파일 안에 'master content 4'라는 내용을 추가한 후 'master work 4'라는 메시지와 함께 커밋해보겠습니다.
$ vi work.txt <- 'master content 4' 추가 입력후 저장
$ git commit -am "master work 4"
3. master브랜치에 새로운 커밋이 추가되었는데 로그가 어떻게 바뀌었을까요? git log 명령에 --oneline 옵션을 추가해서 확인해보겠습니다. --oneline 옵션은 한줄에 한 커밋씩 나타내주기 때문에 커밋을 간략히 관리할 때 편리합니다
$ git log --oneline
4. 최신 커밋인 'master work 4'는 master 브랜치에만 적용되어 있을 것입니다. ms, google, apple 브랜치는 아직 'work 3' 커밋 상태입니다.
5. 현재 브랜치(master)에서 다른 브랜치로 이동하면 어떻게 변하는지를 살펴보겠습니다. 다른 브랜치로 이동하려면 git checkout 명령 다음에 브랜치 이름을 사용합니다. 그래서 apple 브랜치로 이동하는 것을 'apple 브랜치로 체크아웃한다'고 말합니다. 다음과 같이 입력해서 apple 브랜치로 체크아웃합시다
$ git checkout apple
6. $ 위에 나타난 파일 경로 끝에 (apple)이라고 표시될 것입니다. 현재 브랜치가 apple이라는 뜻입니다.
7. 작업 브랜치를 apple 브랜치로 바꿨을때 어떤 변화가 생기는지 확인해 보겠습니다. git log 명령을 사용해서 현재 브랜치의 커밋 로그를 확인합니다.
$ git log --oneline
8. master 브랜치에서 apple 브랜치를 분기하기 전까지 master 브랜치에 있던 커밋들은 그대로 apple 브랜치에 복사된 것을 확인할 수 있습니다. 그리고 최신 커밋 해시에서 HEAD가 apple를 가리키고 있습니다.
즉 apple 브랜치의 최신 커밋은 처음 분기될 때인 'work 3'커밋 그대로 입니다. 그렇다면 work.txt 파일에는 무엇이 있을까요?
cat 명령을 사용해 work.txt파일의 내용을 확인해봅시다.
$ cat work.txt
9. 최신 커밋이 work 3 이기 때문에 content 1부터 content 3까지 세 개의 행만 있을 것입니다. master 브랜치에서 입력했던 'master content 4'가 없을 겁니다. 이를 통해 apple 브랜치가 master 브랜치에서 분기된 이후에 master 브랜치에 추가된 커밋은 apple 브랜치에 영향을 미치지 않았다는 것을 알 수 있습니다.
728x90'Git&GitHub > Git Branch' 카테고리의 다른 글
[Git Branch] (6) 브랜치 병합하기 (0) 2022.05.18 [Git Branch] (5) 브랜치 사이의 차이점 알아보기 (0) 2022.05.18 [Git Branch] (4) Git Branch 정보 확인하기 (0) 2022.05.18 [Git Branch] (2) Git Branch 만들기 (0) 2022.05.18 [Git Branch] (1) Git Branch 란 (0) 2022.05.18