Git Checkout (한국어)

이 페이지는 git checkout 명령에 대한 검사입니다. 사용 예와 엣지 케이스를 다룹니다. Git 용어로 “체크 아웃”은 대상 엔터티의 여러 버전간에 전환하는 행위입니다. git checkout 명령은 파일, 커밋 및 브랜치의 세 가지 개별 항목에서 작동합니다. “체크 아웃”의 정의 외에도 “체크 아웃”이라는 문구는 일반적으로 git checkout 명령을 실행하는 행위를 암시하는 데 사용됩니다. Undoing Changes 항목에서 git checkout를 사용하여 이전 커밋을 보는 방법을 살펴 보았습니다. 이 문서의 대부분은 브랜치에서의 체크 아웃 작업에 초점을 맞 춥니 다.

브랜치 체크 아웃은 선택한 브랜치 / 리비전과 일치하도록 작업 디렉토리가 업데이트된다는 점에서 이전 커밋 및 파일을 체크 아웃하는 것과 유사합니다. 그러나 새로운 변경 사항은 프로젝트 기록에 저장됩니다. 즉, 읽기 전용 작업이 아닙니다.

브랜치 체크 아웃

git checkout 명령을 사용하면 git branch에 의해 생성 된 분기간에 이동할 수 있습니다. 브랜치를 체크 아웃하면 작업 디렉토리의 파일이 해당 브랜치에 저장된 버전과 일치하도록 업데이트되고 Git에 해당 브랜치의 모든 새 커밋을 기록하도록 지시합니다. 작업중인 개발 라인을 선택하는 방법으로 생각하세요.

각 새로운 기능에 대한 전용 브랜치를 갖는 것은 기존 SVN 워크 플로에서 극적인 변화입니다. 기존 기능을 파괴 할 염려없이 새로운 실험을 시도하는 것이 엄청나게 쉬우 며, 관련없는 많은 기능을 동시에 작업 할 수 있습니다. 또한 분기는 여러 협업 워크 플로를 용이하게합니다.

git checkout 명령은 때때로 git clone와 혼동 될 수 있습니다. 두 명령의 차이점은 clone은 원격 저장소에서 코드를 가져 오는 작업이고, 체크 아웃은 이미 로컬 시스템에있는 코드 버전간에 전환하는 작업을한다는 것입니다.

사용법 : 기존 분기

작업중인 저장소에 기존 브랜치가 포함되어 있다고 가정하면 git checkout를 사용하여 이러한 브랜치를 전환 할 수 있습니다. 사용 가능한 브랜치와 현재 브랜치 이름을 확인하려면 git branch를 실행합니다.

 

위의 예는

명령을 실행하고 지정된 분기 (이 경우 feature_inprogress_branch)로 전환합니다.

새 분기

Git checkoutgit branch와 함께 작동합니다. git branch 명령은 새 분기를 만드는 데 사용됩니다. 새 기능을 시작하려면 는 git branch new_branch를 사용합니다. 생성 된 후에는 git checkout new_branch를 사용하여 해당 분기로 전환 할 수 있습니다. 또한 git checkout 명령은 새 분기를 만들고 즉시 전환하는 편리한 방법으로 작동하는 -b 인수를 허용합니다. git checkout로 전환하여 단일 저장소의 여러 기능에 대해 작업 할 수 있습니다.

위의 예 동시에 를 만들고 체크 아웃합니다. -b 옵션은 git checkout 를 실행하기 전에 Git에 git branch 를 실행하도록 지시하는 편리한 플래그입니다.

기본적으로 git checkout -bnew-branch를 현재 HEAD. 선택적 추가 분기 매개 변수를 git checkout에 전달할 수 있습니다. 위의 예에서 가 전달 된 다음 new-branchexisting-branch 대신 현재 HEAD.

분기 전환

분기 전환은 간단한 작업입니다. 다음을 실행하면 HEAD.

Git은 reflog에서 체크 아웃 작업 내역을 추적합니다. git reflog를 실행하여 기록을 볼 수 있습니다.

Git Checkout a Remote Branch

팀과 공동 작업 할 때 원격을 활용하는 것이 일반적입니다. 저장소. 이러한 저장소는 호스팅 및 공유되거나 다른 동료의 로컬 복사본 일 수 있습니다. 각 원격 저장소에는 자체 분기 집합이 포함됩니다. 원격 분기를 체크 아웃하려면 먼저 분기의 콘텐츠를 가져와야합니다.

최신 버전의 Git에서는 로컬 브랜치처럼 원격 브랜치를 체크 아웃 할 수 있습니다.

이전 버전의 Git에서는 remote를 기반으로 새 분기를 만들어야합니다.

또한 새 로컬 브랜치를 체크 아웃하고 마지막 커밋 원격 브랜치로 재설정 할 수 있습니다.

 

분리 된 HEADS

이제 브랜치에서 git checkout의 세 가지 주요 용도를 살펴 보았으므로 "detached HEAD” 상태입니다. HEAD는 현재 스냅 샷을 참조하는 Git의 방법입니다. 내부적으로는 git checkout 명령은 지정된 브랜치 또는 커밋을 가리 키도록 HEAD를 업데이트합니다. 브랜치를 가리킬 때 Git은 불평하지 않지만 커밋을 체크 아웃하면 "detached HEAD” 상태로 전환됩니다.

현재 수행중인 모든 작업이 나머지 프로젝트 개발과 “분리”되어 있음을 알리는 경고입니다. 분리 된 HEAD 상태에있는 동안 기능 개발을 시작하는 것이 었습니다. o 그것. 불가피하게 다른 브랜치를 체크 아웃하면 (예 : 지형지 물을 병합하기 위해) 지형지 물을 참조 할 방법이 없습니다.

요점은, 개발은 항상 분리 된 HEAD가 아닌 브랜치에서 이루어져야합니다. 이렇게하면 항상 새 커밋에 대한 참조가 있습니다. 그러나 이전 커밋 만보고 있다면 분리 된 HEAD 상태인지 여부는 중요하지 않습니다.

요약

이 페이지는 브랜치를 변경할 때 git checkout 명령 사용에 중점을 둡니다. 요약하면, git checkout는 브랜치에서 사용될 때 HEAD 참조의 대상을 변경합니다. 분기를 만들고, 분기를 전환하고, 원격 분기를 체크 아웃하는 데 사용할 수 있습니다. git checkout 명령은 표준 Git 작업을위한 필수 도구입니다. git merge에 해당합니다. git checkoutgit merge 명령은 git workflows를 활성화하는 데 중요한 도구입니다.

Write a Comment

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다