git fetch 와 git pull 의 차이 점 상세 설명

2935 단어 git.fetchpull
git fetch 와 git pull 은 원 격 창 고 를 로 컬 로 업데이트 할 수 있 습 니 다.그러면 그들 사이 에는 어떤 차이 가 있 습 니까?이 문제 에 몇 가지 개념 이 있 는 지 알 기 위해 서 는 언급 하지 않 을 수 없다.
FETCH_HEAD:로 컬 파일 에 기 록 된 버 전 링크 로 현재 원 격 창고 에서 꺼 낸 분기 의 말단 버 전 을 가리 키 고 있 습 니 다. 
commt-id:로 컬 작업 이 끝 날 때마다 git commt 작업 을 해서 현재 작업 을 로 컬 에 저장 합 니 다.이때 commt-id 가 생 깁 니 다.이것 은 버 전 을 유일 하 게 표시 할 수 있 는 시퀀스 번호 입 니 다.git push 를 사용 하면 이 시리 얼 번 호 는 원 격 창고 로 동기 화 됩 니 다.
이상 의 개념 이 있 으 면 git fetch 를 말씀 드 리 겠 습 니 다.
git fetch:git remote 의 모든 원 격 창고 에 포 함 된 분기 의 최신 commt-id 를 업데이트 하여.git/FETCH 에 기록 합 니 다.HEAD 파일 중
git fetch 원 격 창 고 를 업데이트 하 는 방법 은 다음 과 같 습 니 다.

git fetch origin master:tmp 
//       temp  ,    origin   master         temp  
git diff tmp 
//                       
git merge tmp
//  temp      master  
git branch -d temp
//      temp          
(1)git fetch 를 직접 사용 하면 절 차 는 다음 과 같다.
로 컬 원 격 지점 을 만 들 고 업데이트 합 니 다.즉,origin/xxx 지점 을 만 들 고 업데이트 하 며,코드 를 origin/xxx 지점 에 끌 어 옵 니 다FETCH 에서HEAD 에 서 는 현재 분기-origin/현재 분기 대응 을 설정 합 니 다.만약 git merge 가 되면 origin/abc 를 abc 분기 에 합 칠 수 있 습 니 다(2)git fetch origin
fetch 할 remote 를 수 동 으로 지정 하 였 습 니 다.가 지 를 지정 하지 않 을 때 기본 값 은 master 입 니 다.
(3)git fetch origin dev 
원 격 remote 와 FETCH 지정HEAD,그리고 이 지점 의 제출 만 끌 어 옵 니 다.
이 명령 은 원 격 창 고 를 방문 하여 당신 이 아직 가지 고 있 지 않 은 모든 데 이 터 를 끌 어 올 립 니 다.실행 이 완료 되면 원 격 창고 의 모든 지점 에 대한 인용 이 있 을 것 입 니 다.언제든지 통합 하거나 볼 수 있 습 니 다.
git clone 명령 을 사용 하여 창 고 를 복제 하면 명령 은 자동 으로 원 격 창고(git remote-v)로 추가 하고 기본적으로"origin"을 약자 로 합 니 다.따라서 git fetch origin 은 클론(또는 지난번 캡 처)을 캡 처 한 후 새로 추 송 된 모든 작업 을 캡 처 합 니 다.git fetch 명령 이 데 이 터 를 로 컬 창고 로 끌 어 옵 니 다.-현재 작업 을 자동 으로 통합 하거나 수정 하지 않 습 니 다.준비 가 다 되 었 을 때,너 는 그것 을 수 동 으로 너의 일 에 합병 해 야 한다.
원 격 지점 을 추적 하 는 지점 이 있다 면 git pull 명령 을 사용 하여 자동 으로 캡 처 한 다음 원 격 지점 을 현재 지점 으로 통합 할 수 있 습 니 다.이것 은 당신 에 게 있어 서 더욱 간단 하거나 편안 한 업무 절차 일 수 있 습 니 다.기본적으로 git clone 명령 은 로 컬 master 분기 가 복 제 된 원 격 창고 의 master 분기(또는 어떤 이름 의 기본 분기)를 자동 으로 설정 합 니 다.git pull 을 실행 하면 초기 복 제 된 서버 에서 데 이 터 를 캡 처 하고 현재 지점 으로 통합 하려 고 시도 합 니 다.
git pull:우선 로 컬 FETCH 기반HEAD 기록,로 컬 FETCHHEAD 는 원 격 창고 의 버 전 번 호 를 기록 한 다음 git fetch 는 현재 가리 키 는 원 격 분기 의 후속 버 전의 데 이 터 를 얻 은 다음 git merge 를 이용 하여 현재 분기 와 통합 합 니 다.그래서 git pull 은 git fetch 와 git merge 두 단계 의 결합 이 라 고 볼 수 있 습 니 다.
git pull 의 용법 은 다음 과 같 습 니 다.

git pull <     > <     >:<     >
//             ,           。
따라서 git pull 에 비해 git fetch 는 원 격 으로 최신 버 전 을 가 져 오 는 것 과 같 지만 자동 으로 merge 되 지 않 습 니 다.선택 적 인 합병 git fetch 가 필요 하 다 면 더 좋 은 선택 입 니 다.효과 가 같 을 때 git pull 이 더 빠 릅 니 다.
주:git pull 로 코드 를 업데이트 하면 간단 하고 폭력 적 이지 만 commt ID 에 따 르 면 이들 의 실제 실현 원 리 는 다 르 기 때문에 git pull 을 사용 하지 말고 git fetch 와 git merge 를 사용 하 는 것 이 안전 합 니 다.
git fetch 와 git pull 의 차이 점 에 대한 자세 한 설명 은 여기까지 입 니 다.git fetch 와 git pull 의 차이 점 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기