Git 작업공간, 스테이징 영역 및 저장소
기본 개념
먼저 Git 작업공간, 스테이징 영역 및 저장소의 개념을 이해해 봅시다
Workspace: 컴퓨터에서 볼 수 있는 디렉터리입니다.
임시 보관 장소 : 영어로 stage라고 부르며,
또는 색인. 일반적으로 "git 디렉터리" 하위의 인덱스 파일(.git/index)에 저장되므로 임시 저장 영역을 인덱스(index)라고 부르기도 합니다.
저장소: 작업공간에 숨겨진 디렉터리 .git이 있습니다. 이것은 작업공간이 아니라 Git 저장소입니다.
다음 그림은 작업공간, 저장소의 스테이징 영역 및 저장소 간의 관계를 보여줍니다.
그림 왼쪽 측면 는 작업공간이고 오른쪽은 저장소입니다. 저장소에서 "인덱스"라고 표시된 영역은 스테이징 영역(스테이지, 인덱스)이고, "마스터"라고 표시된 영역은 마스터입니다.
분기로 표시되는 디렉터리 트리입니다.
그림에서 "HEAD"는 실제로 마스터 브랜치를 가리키는 "커서"임을 알 수 있습니다. 따라서 그림에 표시된 명령에 HEAD가 나타나는 곳에 master를 사용할 수 있습니다.
교체하다.
사진에서 개체로 식별되는 영역은 Git 개체 라이브러리로, 실제로 ".git/objects"에 위치합니다.
생성된 다양한 개체와 콘텐츠가 포함된 디렉터리입니다.
작업공간에서 수정(또는 추가)된 파일에 대해 "git add"를 실행할 때
명령을 실행하면 스테이징 영역의 디렉터리 트리가 업데이트되는 동시에 작업 공간에서 수정(또는 추가)된 파일의 내용이 개체 라이브러리의 새 개체에 기록되고 해당 파일의 ID는 다음과 같습니다. 개체가 준비 영역에 기록됩니다.
커밋 작업(git commit)을 수행하면 스테이징 영역의 디렉터리 트리가 버전 라이브러리(객체 라이브러리)에 기록되고 그에 따라 마스터 브랜치가 업데이트됩니다. 즉, 마스터
가리키는 디렉토리 트리는 제출 당시의 임시 저장 영역의 디렉토리 트리이다.
"git Reset HEAD" 명령이 실행되면 스테이징 영역의 디렉토리 트리가 다시 작성되고 마스터 브랜치가 가리키는 디렉토리 트리로 대체되지만 작업 공간에는 영향을 미치지 않습니다. .
"git rm --cached
"git checkout ." 또는 "git checkout --
"git checkout HEAD ." 또는 "git checkout HEAD
위 내용은 Git 튜토리얼의 작업공간, 임시저장공간, 저장소에 대한 자세한 설명입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!