WIP: Git의 구조적 이해

2647 단어 Git

이 보도의 목적


나는 Git가 어렵다는 인상을 주기 쉬운 이유가 많다고 생각하지만 Git가 관리하는 데이터가 무엇인지 이해하면 그 이후의 이해는 토란에 따른다.
따라서 Git 저장소를 구성하는 최소한의 요소에 대해 설명하고 자주 사용하는 명령이 어떤 역할을 하는지 정리한다.
다음 사람에게 추천합니다.
  • Git가 좋다는 말을 많이 들었지만 어려워 보였고 둘 다 붐볐다
  • Git를 사용했지만 언제 사고가 날지 모르는 사람들이 많다
  • 내용이 어떤지 파악하지 않으면 시원시원하지 않은 사람
  • 최소한의 요소는 두 가지밖에 없어요.


    Git 저장소는 커밋 및 브랜치로 구성됩니다.이를 알게 되면 Git은 8할 정도를 이해하는 셈이다.나머지 2할은 응용과 조합을 어떻게 조작하는지에 관한 이야기일 뿐이다.

    승낙


    세 가지 메시지가 있습니다.
  • 변경 내용(차분과 로그, 변경자의 정보 등)
  • 커밋된 고유 ID(해싱 코드)를 나타냅니다
  • 아버지가 제출한 ID입니다
  • 이 약속이 증가함에 따라 저장소도 커질 것이다.

    분지


    Git에서 브랜치가 갖는 중요한 정보는 단 하나입니다.
  • 저장소의 현재 위치에서 커밋된 ID입니다
  • 명명된 요소도 있지만 본질적으로는 이것뿐이다.제출에 대한 지침이라고 할 수 있다.
    필요에 따라 자유롭게 브랜치를 생성할 수 있으며 하나의 저장소에 여러 개의 브랜치가 있습니다.이 경우 브랜치 중 하나를 선택하면 브랜치가 가리키는 커밋이 현재 위치가 됩니다.
    앞에서 말한 바와 같이 모든 약속은 자신의 부모만 안다.지점은 현재 위치의 제출을 가리키며 부모 제출을 차례로 추적하여 이 지점 계보에 있는 모든 변경 내용을 파악할 수 있다.

    운용에 있어'지분계보에 속하는 제출 전체'라고 불리는 경우도 많은데 이것은 혼란의 한 원인이다.Git 관리에서 브랜치는 커밋을 가리키는 포인터일 뿐입니다.

    커밋 및 분기 작업만으로 명령의 작용 해석


    Git의 저장소 작업은 결국 "제출을 늘리는 방법, 지점을 이동하는 방법"에 불과하다.이름이 붙은 조작이 분해도 입도가 작은 조작의 집합이라면 사실 기억해야 할 일이 많지 않기 때문이다.
    따라서 자주 사용하는 & 입도 작은 조작부터 설명합니다.

    commit


    현재 지점을 가리키는 제출을 부모 세대로 하는 새로운 제출을 추가합니다.
    분기는 새로 추가된 제출을 가리킨다.

    그림에서 제출 연장의 화살표에서 아래를 가리키는데, 이는 제출이 부모 방향에 대한 인용만 있기 때문이다.변경된 시간 시퀀스는 반대 방향입니다.

    branch


    새 브랜치를 생성합니다.
    기본적으로 저장소의 현재 위치를 가리키는 경우 생성되지만 기존 브랜치 이름을 지정하거나 ID를 제출하여 생성할 수도 있습니다.마스터라는 지점은 처음부터 존재합니다. 보통 저장소의 안정적인 상태를 유지하는 데 사용됩니다.

    branch 명령은 생성만 하고 지점의 선택 상태로 변경되지 않습니다.
    위의 그림은 새로운 hoge 지점을 보여 주지만, 현재 지점은 master를 보존하고 있습니다.선택 상태를 전환하려면 다음 checkout 명령을 사용하십시오.

    checkout


    현재 브랜치를 전환합니다.
    전환과 동시에 저장소의 작업 복사본(버전 제어 파일)의 상태도 변경됩니다.

    브랜치를 전환하고 제출하면 트리 브랜치가 발생합니다.제출은 현재 지점이 가리키는 제출을 부모 세대로 하기 때문이다.
    (이하 미작성)
    이 리듬으로 쓰면 힘들기 때문에 좌절되지만 이때도 가치가 있을 것 같아서 WIP로 공개합니다.계속 필요하시면 열심히 하겠습니다.

    좋은 웹페이지 즐겨찾기