원격 main 브랜치
1. 깃허브에서 test-1 저장소로 접속한 후 커밋 개수가 표시된 부분을 클릭
이 책의 실습을 따라왔다면 [5 commits]으로 되어 있을 것이고, 이 부분을 클릭하면 ‘add d’라는 커밋이 마지막임
이 상태에서 커밋 포인터가 어디를 가리키는지 생각해 보면
원격 저장소에 있는 HEAD는 원격 저장소의 main 브랜치를 가리키고, 원격 main 브랜치는 ‘add d’라는 최종 커밋을 가리킬 것임
2. 터미널 창에서 git_home 디렉터리로 이동한 후 git log 명령으로 커밋 상태를 확인
최종 커밋인 add d 앞에 (HEAD -> main, origin/main, origin/HEAD)라고 표시되어 있음
(HEAD -> main)은 이 커밋이 지역 저장소의 최종 커밋이라는 뜻이고, (origin/main)는 원격 저장소의 최종 커밋이라는 뜻
아직 git_home 디렉터리가 원격 저장소를 복제한 상태 그대로이므로 지역 저장소와 원격 저장소의 최종 커밋이 같음
3. git_home 디렉터리에 새로운 커밋을 만들기 위해 빔을 사용해 f3.txt 파일을 만든 후 간단히 ‘a’라고 입력
파일 내용은 어떤 것을 입력해도 상관없으며 여기에서는 새 파일을 만드는 것이 중요
4. f3.txt를 스테이지에 올린 후 커밋을 만들고 커밋 메시지는 ‘create f3.txt’라고 함
5. git log --oneline 명령을 사용해 커밋 로그를 한눈에 확인
(HEAD -> main)는 방금 커밋한 create f3.txt를 가리킴
지역 저장소의 최종 커밋이 create f3.txt 커밋이라는 뜻
하지만 (origin/main, origin/HEAD)는 아직 add d 커밋을 가리키고 있음
6. 이 상태에서 git status를 입력
현재 지역 저장소의 main 브랜치가 원격 main 브랜치의 버전보다 하나 앞서 있음
그리고 git push 명령으로 지역 저장소의 커밋을 원격 저장소로 올리라고 알려 줌
7. 지역 저장소의 커밋을 원격 저장소로 올리기 위해 이제 git push 명령을 사용하고 그 후에 커밋 로그를 확인
푸시하기 전까지는 main 브랜치와 origin/main 브랜치가 가리키는 커밋이 달랐지만,
푸시한 후에는 main와 origin/main 브랜치가 같은 커밋을 가리킴
원격 브랜치 정보 가져오기 — git fetch – (1)
1. 현재 깃허브 저장소에는 create f3.txt 커밋까지 올라간 상태
이번에는 회사 컴퓨터 저장소로 이동해서 진행
터미널 창에서 git_office 디렉터리로 이동한 후 git fetch 명령을 입력하면 원격 저장소에서 무언가 가져옴
2. ls -al 명령을 사용해서 어떤 파일이 있는지 살펴봄
분명히 원격 저장소에 있던 커밋을 가져왔는데 git_home에서 원격 저장소로 푸시했던 f3.txt 파일이 보이지 않음
3. git log 명령을 사용해서 커밋 로그를 살펴봄
커밋 해시 오른쪽에는 (HEAD -> main)만 보이고 원격 저장소의 origin/main은 보이지 않음
원격 저장소의 최신 커밋 정보를 가져왔지만 아직 지역 저장소에 합치지 않아
git_office에 있던 최신 커밋(HEAD -> main)만 나타나기 때문
4. git status 명령으로 현재 깃의 상태를 확인
현재 브랜치가 origin/main에 비해 1개의 커밋이 뒤처져 있다고 나옴
즉, 원격 저장소의 최신 커밋 하나가 아직 지역 저장소에 반영되지 않았다는 뜻
git pull 명령을 사용하면 지역 저장소를 업데이트할 수 있다고 알려 줌
5. 페치로 가져온 커밋 정보를 확인하려면 git diff 명령을 사용해서
현재 최신 커밋과 원격 저장소에서 가져온 커밋의 차이를 살펴보면 됨
f3.txt 파일이 새로 생겼음
6. 원격 저장소의 커밋을 확인하고 지역 저장소에 합치겠다고 결정했다면 merge 명령을 사용해 합치면 됨
7. 다시 깃 로그를 살펴보면 ‘create f3.txt’라는 최신 커밋이 지역 저장소에 반영된 것을 볼 수 있음
'Git,GitHub' 카테고리의 다른 글
깃허브(GitHub) - vs Code 버전관리 (0) | 2023.01.04 |
---|---|
깃허브(GitHub) - 협업하기 (0) | 2023.01.03 |
깃허브(GitHub) - 원격 저장소 함께 사용하기 (0) | 2023.01.03 |
깃허브(GitHub) - SSH 원격 접속이란? (0) | 2023.01.03 |
깃허브(GitHub)란? (0) | 2023.01.03 |