git-fetch - Git 사용 - 'git pull'과 'git fetch'의 차이점은 무엇입니까?

Git pull 예제 / git / version-control / git-pull

git pullgit fetch 의 차이점은 무엇입니까 ?

Jonathan Leffler



Answer #1

나는 이러한 것들을 파악하기 위해 상황을 시각적으로 표현하는 것을 좋아합니다. 다른 개발자도보고 싶어 할 수 있으므로 여기에 추가 내용이 있습니다. 모든 것이 정확하다고 확신 할 수 없으므로 실수를 발견하면 의견을 말하십시오.

                                         LOCAL SYSTEM
                  . =====================================================    
================= . =================  ===================  =============
REMOTE REPOSITORY . REMOTE REPOSITORY  LOCAL REPOSITORY     WORKING COPY
(ORIGIN)          . (CACHED)           
for example,      . mirror of the      
a github repo.    . remote repo
Can also be       .
multiple repo's   .
                  .
                  .
FETCH  *------------------>*
Your local cache of the remote is updated with the origin (or multiple
external sources, that is git's distributed nature)
                  .
PULL   *-------------------------------------------------------->*
changes are merged directly into your local copy. when conflicts occur, 
you are asked for decisions.
                  .
COMMIT            .                             *<---------------*
When coming from, for example, subversion, you might think that a commit
will update the origin. In git, a commit is only done to your local repo.
                  .
PUSH   *<---------------------------------------*
Synchronizes your changes back into the origin.