programing

깃클론과 체크아웃의 차이점은 무엇입니까?

newsource 2023. 5. 10. 21:13

깃클론과 체크아웃의 차이점은 무엇입니까?

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

체크아웃을 위한 남성 페이지: http://git-scm.com/docs/git-checkout

클론의 man 페이지: http://git-scm.com/docs/git-clone

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

참고: SVN/CVS 경력이 있고 Git를 처음 접하는 사람의 경우, 다음과 같습니다.git cloneSVN/CVS에서는checkout서로 다른 용어의 동일한 문구는 종종 혼동을 일으킵니다.

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

git checkout은 원하는 저장소 상태(예: 분기 또는 특정 파일)를 체크아웃하는 것입니다.

예를 들어, 현재 마스터 분기에 있으며 develop 브랜치로 전환하려고 합니다.

git checkout develop_branch

예: 특정 파일의 특정 상태로 체크아웃하려는 경우

git checkout commit_point_A -- <filename>

여기 당신이 Git를 배울 수 있는 좋은 참고 자료가 있습니다, 훨씬 더 쉽게 이해할 수 있게 해줍니다.

한 가지 주목해야 할 점은 git 내에 "카피아웃"이 없다는 것입니다.로컬 레포에 이미 전체 복사본이 있기 때문입니다. - 로컬 레포는clone선택한 업스트림 레포의.그래서 당신은 실질적으로 개인적인 것을 가지고 있습니다.checkout참조 레포의 파일에 '잠금'을 걸지 않고 모든 것의.

Git는 SHA1 해시 값을 파일 / 디렉토리 트리 / commit / repo의 복사본이 신뢰 계층 내에서 "마스터"로 선언할 수 있는 사용자가 사용하는 복사본과 정확히 동일한지 확인하는 메커니즘으로 제공합니다.이것은 대부분의 SCM 시스템을 질식시키는 모든 '잠금'을 방지합니다(개인 복사본, 큰 병합, 소스 코드의 실제 제어 또는 관리가 없는 일반적인 문제 ;-)!

단순한 git 체크아웃은 2가지 용도가 있습니다.

  1. 다음과 같이 기존 로컬 분기 간 전환git checkout <existing_local_branch_name>
  2. flag -b를 사용하여 현재 분기에서 새 분기를 만듭니다.만약 당신이 마스터 브랜치에 있다면,git checkout -b <new_feature_branch_name>마스터의 내용으로 새 분기를 만들고 새로 만든 분기로 전환합니다.

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

checkout여러 경우에 사용할 수 있습니다.

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

또한 새 분기를 생성하고 이 경우를 통해 전환할 수 있습니다.-b

git checkout -b new_branch_to_switch

번째 경우: xrev에서 파일 복원

git checkout rev file_to_restore ...

언급URL : https://stackoverflow.com/questions/7298598/what-is-the-difference-between-git-clone-and-checkout