Git remote fetch/pull, Git push 명령
- 리모트 저장소의 모든 자원을 "git clone" 명령을 통해 로컬 저장소로 가져온다.
- 리모트 저장소에 index2.html 파일을 추가한다.
P.S: 생성한 index2.html 파일의 Commit index는 5717f9...18a 와 같다.
- 리모트 저장소(origin) 확인 후 "git fetch" 명령을 통해 로컬 저장소 와 리모트 저장소 의 상의한 브랜치 내역을 가져온다.(로컬 저장소에는 리모트 저장소와 달리 index2.html 파일에 내한 내역은 존재하지 않는다.)
P.S: 또한, 아래 7f70cbc Commit index는 현재 리모트 저장소의 최종 Commit index인 5717f9...18a 의 parent index로 존재한다.
- "git remote fetch" 명령 수행 후 모든 영역(Working, Staging, Repository)에는 해당 파일에 대한 업데이트 내역이 존재하지 않는것을 확인할 수 있다.
하지만 실제 Git 저장소(.git/objects) 내부에는 아래 결과와 같이 index2.html 파일의 Commit index인 57/17f9...5ee4 Blob 파일이 존재하는것을 확인할 수 있다.
- 해당 Blob 파일을 확인하면, 아래와 같이 index2.html 파일에 대한 내역이라는것을 다시한번 확인할 수 있다.
- "git merge" 명령을 통해 위에서 "fetch" 된 모든 내역을 해당 로컬 Branch 에 merge 시키면, 이전 내역과 달리 모든 영역(Working, Staging, Repository)에는 현재 리모트 저장소의 업데이트 내역이 전부 반영 되어 있을 것이다.
Git remote pull
- "git remote pull" 명령은 이전 "fetch" 명령과는 달리 모든 영역(Working, Staging, Repository)에 리모트 저장소의 업데이트 내역이 존재하는것을 확인할 수 있다.(즉, "marge" 기능 까지 한번에 수행하게 된다.)
Git push
1. Workiing 영역에 index3.html 파일 생성 후 아래와 같이 모든 단계를 수행한다.
2. 리모트 저장소의 지정된 Branch로 로컬 저장소의 업데이트된 모든 내역을 Push 한다.
- 아래는 로컬 저장소로 부터 Push 된 리모트 저장소 내역이다.
참고: