git clone과 checkout의 차이점은 무엇입니까? clone그리고 git checkout?

차이점은 무엇이며 git clone그리고 git checkout?



답변

결제 매뉴얼 페이지 : http://git-scm.com/docs/git-checkout

클론 매뉴얼 페이지 : http://git-scm.com/docs/git-clone

요약하자면 클론은 가지고 있지 않은 리포지토리를 가져오고, 체크 아웃은 이미 가지고있는 리포지토리의 분 기간을 전환하는 것입니다.

참고 : 망할 놈의 동등한에 SVN / CVS 배경과 새로운 사람들을 위해 git cloneSVN의를 / CVS이다 checkout. 다른 용어의 동일한 표현은 종종 혼동됩니다.


답변

git clone 은 원격 git 서버에서 리포지토리를 가져 오는 것입니다.

git checkout 은 브랜치 또는 특정 파일과 같은 원하는 저장소 상태를 체크 아웃하는 것입니다.

예를 들어, 현재 마스터 지점에 있으며 개발 지점으로 전환하려고합니다.

git checkout develop_branch

예를 들어, 특정 파일의 특정 상태를 체크 아웃하려는 경우

git checkout commit_point_A -- <filename>

다음은 Git을 배울 수 있는 좋은 참고 자료 입니다. 훨씬 쉽게 이해할 수 있습니다.


답변

주목해야 할 것은 git 내에 “Copyout”이 없다는 것입니다. 로컬 리포지토리에 이미 전체 사본 이 있기 때문입니다. 로컬 리포지는 clone선택한 업스트림 리포지토리 중 하나입니다. 그래서 당신은 효과적으로 개인이 checkout모든 기준의 repo에서 이러한 파일에 대한 몇 가지 ‘잠금’을주지 않고.

Git은 SHA1 해시 값을 파일 / 디렉토리 트리 / 커밋 / 리포지토리의 복사본이 트러스트 계층 내에서 “마스터”로 선언 할 수있는 사람이 사용하는 사본과 정확히 동일한 지 확인하는 메커니즘으로 제공합니다. 이렇게하면 대부분의 SCM 시스템이 질식하게 만드는 모든 ‘잠금’을 피할 수 있습니다.


답변

간단히 git checkout에는 2 가지 용도가 있습니다.

  1. 다음과 같은 기존 로컬 지점 간 전환 git checkout <existing_local_branch_name>
  2. 플래그 -b를 사용하여 현재 브랜치에서 새 브랜치를 작성하십시오. 마스터 브랜치에 있다고 가정하면 master git checkout -b <new_feature_branch_name>의 내용으로 새 브랜치를 작성하고 새로 작성된 브랜치로 전환 한다고 가정하십시오.

공식 사이트 에서 더 많은 옵션을 찾을 수 있습니다


답변

checkout 많은 경우에 사용될 수 있습니다 :

첫 번째 경우 : 로컬 리포지토리의 분기 간 전환 예 :

git checkout exists_branch_to_switch

새 분기를 만들고이 경우를 통해 전환 할 수도 있습니다 -b


git checkout -b new_branch_to_switch

두 번째 경우 : x rev에서 파일 복원


git checkout rev file_to_restore