지역 저장소처럼 원격저장소를 만들때 기본으로 master 브랜치가 생성이 됩니다.
git_notebook 디렉토리로 이동한 후에 git log 명령어를 실행하였습니다.
HEAD -> master는 이 커밋이 지역저장소의 최종 커밋이라는 의미입니다.
origin/master ,origin/HEAD 는 원격저장소의 커밋이 최종 커밋이라는 의미입니다.
현재 지역저장소와 원격저장소의 최종 커밋이 동일합니다.
git_notebook 디렉토리에서 notebook.txt를 만들고 notebook 1이라는 내용을 입력하고 저장하였습니다.
git add와 git commit -am 명령어를 입력하여 지역저장소에 커밋을 만들었습니다.
git log --oneline 명령어를 실행하여 로그를 확인해보았습니다.
HEAD -> master는 create notebook.txt 커밋을 가리키고 있습니다.
origin/master, origin/HEAD는 아직 office work 2 커밋을 가리키고 있습니다.
git status 명령어를 입력하여 현재 상태를 확인해보겠습니다.
현재 master 브랜치가 origin에 있는 원격 master 브랜치의 커밋보다 하나 앞서있다고 합니다.
그리고 git push 명령어를 입력하여 지역 저장소의 커밋을 원격저장소로 올리라고 알려줍니다.
git push 명령어를 입력하여 원격저장소로 커밋을 올렸습니다.
git log --oneline 명령어를 입력하여 로그를 확인해보니 지역저장소의 master 브랜치와 원격 저장소의 master 브랜치가 최종 커밋을 가리키게 됩니다.
git fetch
git fetch 명령어는 git pull 명령어와는 다르게 원격저장소의 정보를 가져오는 기능입니다.
git pull 명령어는 원격저장소의 커밋을 가져와 지역저장소와 합쳐 최신 커밋으로 만듭니다.
git fetch 명령어는 원격저장소의 브랜치에 어떤 변화가 있는지 확인하고 그 정보만 가져옵니다.
현재 원격저장소에는 create notebook.txt 커밋이 최종 커밋입니다.
git_office 디렉토리에서 git log --oneline 명령어를 입력하고 로그를 확인하겠습니다.
git_office 디렉토리에서는 원격저장소의 최신정보를 받지 못했기 때문에 아직 office work 2 커밋에 있는 것을 볼 수 있습니다.
원격저장소의 정보를 가져오겠습니다.
git fetch 명령어를 입력하여 원격저장소의 정보를 가져오고 git log --oneline 명령어를 입력하여 커밋을 확인해보았습니다.
HEAD -> master만 보이고 원격저장소의 origin/master는 보이지 않습니다.
원격저장소의 최신 정보만 가져왔고, 아직 지역 저장소와 합치지 않았기 때문입니다.
git status 명령어를 입력하여 확인해보니 현재 브랜치가 origin/master 브랜치에 비해 1 커밋이 뒤쳐져있다고 합니다.
즉 원격 저장소의 최신 커밋 1개가 아직 지역 저장소에 반영이 되지 않았다는 의미입니다.
그리고 git pull 명령어를 입력하여 업데이트 할 수 있다고 나옵니다.
git fetch로 가져온 최신 커밋 정보는 원격저장소의 origin/master 브랜치가 아닌 FETCH_HEAD 라는 브랜치로 가져옵니다.
git checkout FETCH_HEAD 명령어를 통하여 FETCH_HEAD로 체크아웃 합니다.
FETCH_HEAD 브랜치에서 git log --oneline 명령어를 입력하였습니다.
최신커밋에 origin/master 커밋이 표시되어있습니다.
git checkout master 명령어를 입력하여 master 브랜치로 돌아가서 git fetch의 정보와 병합합니다.
git pull 혹은 git merge FETCH_HEAD 명령어를 통하여 병합을 진행하면 됩니다.
과정은 생략하도록 하겠습니다.
git fetch 한뒤에 병합할때 원격 master 브랜치에 있는 커밋이라면
- git merge origin/maser 를 입력합니다.
다른 브랜치에 있는 커밋이라면
- git merge origin/브랜치 이름
감사합니다! :)
'Git' 카테고리의 다른 글
#21 Git(깃) 협업 공동작업자(서로 다른계정) 추가하기 (1) | 2021.01.18 |
---|---|
#19 Git(깃) 협업하기(하나의 계정으로 두개의 컴퓨터) (1) | 2021.01.16 |
#18 Git(깃) 백업{올리기(PUSH), 내려받기(PULL)} (2) | 2021.01.15 |
#17 Git(깃) 백업{저장소 (Github)연결하기 지역<>원격} (0) | 2021.01.15 |
#16 Git(깃) 백업(Github - 원격저장소) (2) | 2021.01.14 |