Programing

git에서 pull과 clone의 차이점은 무엇입니까?

lottogame 2020. 5. 5. 19:29
반응형

git에서 pull과 clone의 차이점은 무엇입니까?


(after mkdir repocd repo) 의 차이점은 무엇입니까?

git init
git remote add origin git://github.com/cmcculloh/repo.git
git fetch --all
git pull origin master

git clone git://github.com/cmcculloh/repo.git

내 말은, 분명히 하나는 짧지 만 그 외에는 기본적으로 같은 일을하고 있습니까?


클론은 마스터뿐만 아니라 추가 원격 추적 분기를 설정한다는 점을 제외하고는 기본적으로 동일합니다. 매뉴얼 페이지를 확인 하십시오 .

저장소를 새로 작성된 디렉토리로 복제하고, 복제 된 저장소의 각 분기에 대한 원격 추적 분기 (git branch -r을 사용하여 표시)를 작성하고 복제 된 저장소의 현재 활성 분기에서 분기 된 초기 분기를 작성하고 체크 아웃합니다.


git clone작업 할 기존 저장소의 로컬 사본을 얻는 방법입니다. 여러 개의 작업 사본을 갖고 싶지 않은 경우 일반적으로 주어진 저장소에 대해 한 번만 사용됩니다. (또는 로컬 사본을 엉망으로 만든 후 깨끗한 사본을 얻으려고합니다 ...)

git pull(또는 git fetch+ git merge)는 원격 저장소에서 새로운 커밋으로 해당 로컬 복사본 업데이트 하는 방법 입니다. 다른 사람과 공동 작업하는 경우 자주 실행하는 명령입니다.

첫 번째 예제에서 알 수 있듯이 git clone다른 git 명령을 사용 하여 에뮬레이션 할 수는 있지만 실제로 git pull"기본적으로 동일한 작업"을 수행 하는 경우는 아닙니다 git clone.


평신도 언어로 말할 수 있습니다.

  • 복제 : 원격 저장소의 작업 사본을 가져옵니다.
  • :이 작업을하고 있습니다. 다른 사람들이 업데이트 할 수있는 새로운 변경 사항을 알려주십시오.

git clone 시스템에 저장소의 사본을 작성한다는 의미입니다.

git fork 리포지토리를 Github 계정으로 복사한다는 의미입니다.

git pull 마지막으로 수정 한 저장소를 가져오고 있음을 의미합니다.

git push 리포지토리를 수정 한 후 반환한다는 의미입니다.

평신도의 용어로 :

git clone다운로드 git pull중이며 새로 고침 중입니다.


clone : 원격 서버 저장소를 로컬 머신에 복사합니다.

pull : 다른 변경 사항이 로컬 컴퓨터에 추가되었습니다.

이것이 차이점입니다.

복제는 일반적으로 원격 저장소 사본을 얻는 데 사용됩니다.

풀은 팀에서 작업하는 경우 다른 팀 동료 추가 코드를 보는 데 사용됩니다.


git clone 은 현재 원격 서버 저장소에서 작동하는 것을 정확하게 다운로드하여 해당 프로젝트가있는 시스템 폴더에 저장하는 데 사용됩니다. 주로 프로젝트를 처음 업로드 할 때만 사용됩니다. 그 후 당기는 것이 더 나은 옵션입니다.

git pull 은 기본적으로 (복제 (다운로드) + 병합) 작업이며 팀워크로 작업 할 때 주로 사용됩니다. 즉, 해당 프로젝트의 최근 변경 사항을 원할 때 당길 수 있습니다.


흠, 복제 할 때와 같이 당기면 원격 분기 "4.2"가 보이지 않는 것은 무엇입니까? 분명히 동일하지 않습니다.

tmp$  mkdir some_repo

tmp$  cd some_repo

some_repo$  git init
Initialized empty Git repository in /tmp/some_repo/.git/

some_repo$  git pull https://github.ourplace.net/babelfish/some_repo.git
  :
From https://github.ourplace.net/babelfish/some_repo
 * branch            HEAD       -> FETCH_HEAD

some_repo$  git branch
* master

vs

tmp$  rm -rf some_repo

tmp$  git clone https://github.ourplace.net/babelfish/some_repo.git
Cloning into 'some_repo'...
  :
Checking connectivity... done.

tmp$  cd some_repo

some_repo$  git branch
* 4.2

While the git fetch command will fetch down all the changes on the server that you don’t have yet, it will not modify your working directory at all. It will simply get the data for you and let you merge it yourself. However, there is a command called git pull which is essentially a git fetch immediately followed by a git merge in most cases.

Read more: https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Pulling


git clone URL ---> Complete project or repository will be downloaded as a seperate directory. and not just the changes git pull URL ---> fetch + merge --> It will only fetch the changes that have been done and not the entire project

참고URL : https://stackoverflow.com/questions/3620633/what-is-the-difference-between-pull-and-clone-in-git

반응형