[Git] 초보자들이 많이 사용하는 Git 명령 구조 요약 [메모]

6545 단어 Git초보자

Git의 구조를 잘 몰랐을 때.


Git가 명령을 내리면 왠지 움직일 수 있을 것 같지만 잘 모르는 상황에서 로컬과 원격 파일이 바뀌는 게 무섭지 않나요?
그래서 구조를 깊이 이해하기 위해 자신이 쓴 비망록을 만들었다.잘못이 있으면 지적해 주세요.

Git


Git는 분산 버전 제어 시스템이라고 합니다.
이것은 모든 컴퓨터와 서버에 스냅샷을 저장하여 많은 사람들이 동시에 개발할 때 더욱 쉽게 버전 관리를 할 수 있도록 한다.
스냅샷은 특정 시점의 모든 파일을 나타냅니다.
Git는 시점 간의 차이가 아니라 스냅샷으로 저장되므로 시점의 변경 사항을 현재의 변경 사항과 쉽게 결합할 수 있습니다.

데이터 위치


Git는 크게 네 곳으로 나뉘어 데이터가 있다.
작업 트리, 단계, 로컬 저장소 및 원격 저장소.

작업 트리


평소에 일하던 곳이에요.
예를 들어 설치하면 컴퓨터 어딘가에 파일이 놓여 있어 브라우저에서 확인할 수 있다.
그곳은 Git에서 작업 트리로 불린다.

스테이지


스냅샷의 변경 사항을 저장할 위치를 저장합니다.
스테이지가 있는 이유는 스테이지가 없으면 작업 트리의 변경이 모든 스냅샷이 되기 때문입니다.
작업 트리와 저장소 사이에 스테이지 위치를 제공하여 스테이지의 변경 사항만 저장할 수 있습니다.

로컬 저장소


각 컴퓨터의 스냅샷 위치.

원격 저장소


서버의 스냅샷 위치입니다.
서버에 두면 다른 사람과 함께 파일을 관리할 수 있다.

Git 명령


Git에서 자주 듣는 단어는 대개add/commit/checkout/push/fetch/marge/pull로 시작하고 싶습니다.
하나하나 간단히 설명하다.
자세한 내용은 어려운 Git 명령, 구조적 이해일단 Git의 구조를 알아야 돼요. 을 참조하십시오.
실제 데이터의 이동은 Git 구조부터 Git Object Browser까지 확인할 수 있다.이 사이트를 보면 명령에 무슨 일이 일어날지 알 수 있다.추천하다.

git add


작업 트리의 실제 파일에서 스냅샷을 만들어 스테이지에 추가합니다.
이때 컴퓨터에 무슨 일이 일어났을까
  • 압축된 파일 (blob 대상) 은 로컬 데이터 라이브러리입니다.git/objects에 저장합니다.
    그나저나git 디렉터리는git init (새 저장소 명령) 를 실행한 디렉터리에서 만든 것입니다.
  • 실제 파일 및.git/objects에 저장된 파일 (blob 대상) 의 맵 정보입니다.git/index 파일에 기록합니다.
  • git commit


    단계에 추가된 스냅샷을 로컬 저장소에 저장합니다.
    이때 컴퓨터에 무슨 일이 일어났을까
  • 디렉터리 구성 정보(tree 대상)를 로컬 저장소로 사용합니다.git/objects에 저장합니다.
  • 특정 디렉토리에 있는 파일의 이름, 하위 디렉토리 이름, 객체 ID 등의 정보를 저장합니다.
  • 로컬 자료 라이브러리로 제출 정보(commit 대상)를 제출합니다.git/objects에 저장합니다.
  • 구체적으로 말하자면tree 대상, 창설자, 날짜 시간, 메일 주소, 제출 메시지와 이전의 제출을 부대로 저장한다.
    이렇게 하면 부모를 참조하여 변경할 수 있다.
  • 분기 정보


    checkout/push/fetch/marge/pull을 설명하기 전에 지점을 간단하게 확인합니다.
    브랜치는 Git에서 브랜치 개발을 커밋하는 브랜치를 말합니다.
    지점의 실제 상태는commit 대상을 가리키는 바늘입니다.
    commit이나pull을 통해 지점이 가리키는 commit 대상이 변경됩니다.
    지점의 정보는 로컬입니다.git/refs/heads에 저장합니다.

    HEAD


    자신이 지금 일하고 있는 지점.
    로컬git/HEAD는 브랜치의 시작을 가리키는 참조 경로 정보를 저장합니다.

    원격 추적 지점


    로컬 원격 브랜치 상태를 나타내는 브랜치입니다.
    원격 지점의 상태만 반영하기 때문에 로컬commit에 있을 수 없습니다.
    원격 저장소 마스터 지점의 원격 추적 지점은 로컬입니다.git/refs/remotes에 저장합니다.
    다음은 명령의 설명입니다. 이 근처에서 힘을 다 썼기 때문에 문자로만 설명합니다.
    자세한 내용은 [Git] 원격에서 가져와 원격으로 반영(fetch,pull,push) 를 참조하십시오.

    git checkout


    지정된 매개변수에 따라 동작이 달라집니다.
    1.git checkout<분기 이름>
    제목을 지정한 지점으로 전환합니다.작업 트리의 내용도 이 지점의 내용을 반영한다.
    로컬에는 브랜치가 없지만 원격 추적 브랜치에서는 HEAD가 되는 브랜치를 로컬에 생성합니다.
    .git/HEAD 및 로그로 사용됩니다.git/logs/HEAD를 업데이트합니다.
  • git checkout-<파일 이름 또는 디렉토리 이름>
    지정한 파일, 디렉터리의 마지막 제출 내용을 작업 트리에 반영합니다.
    -- Git 측면에서 파일 이름이나 디렉토리 이름임을 알 수 있습니다.
  • git push


    로컬 저장소의 내용을 원격 저장소로 보냅니다.

    git fetch


    원격 저장소의 내용을 로컬 저장소의 원격 추적 지점에 반영합니다.
    로컬원격commit 대상,tree 대상,blob 대상은git/refs/remotes로 복사됩니다.
    주의는 작업 트리에 반영되지 않습니다.

    git merge


    작업 트리에 로컬 저장소의 내용을 반영합니다.
    합병은 세 가지가 있다.
  • Fast Foward
    지점이 분할되지 않으면 지점이 가리키는 제출 지침을 추진하기만 하면 된다.
  • Auto Merge
    지점이 지점이라면, 두 지점의 최신 제출을 바탕으로commit 대상을 만듭니다.
    이것은 합병 제출이라고 불린다.
    병합 제출은 두 지점의 최신 제출을 부모 세대로 하기 때문에 두 개의 부모 세대가 있다.
  • conflict
    같은 파일의 같은 줄을 다른 편집할 때 발생합니다.
    어떤 편집을 사용할지 수동으로 해결해야 합니다.
  • git pull


    git fetch와git marge를 동시에 진행합니다.
    작업 트리에서master 지점에 있지만 개발자의 내용을gitpull할 수 있기 때문에 현재의 지점과gitpull 대상의 지점을 확인해야 합니다.

    Git 관리를 해보도록 하겠습니다.


    아래의 내용을 참고하여 관리하다.
    로컬 프로젝트를 GitHub에 업로드하는 방법
    기존 디렉토리의 Git 관리 및 원격 저장소 생성

    Git 설정 변경


    여러 개의git 계정 사용
    Git의 Commit Author 및 Commiter 변경

    웹 페이지 정보


    어려운 Git 명령, 구조적 이해
    일단 Git의 구조를 알아야 돼요.
    Git 구조
    Git Object Browser part1
    Git Object Browser part2
    [Git] 원격에서 가져와 원격으로 반영(fetch,pull,push)
    https://git-scm.com/book/ja/v1
    udemy의더 이상 Git 안 무서워!팀 개발에 필요한 Git 파악는 어떤 구조이고 어떤 명령이 있는지 Git 초보자에게 추천합니다.

    좋은 웹페이지 즐겨찾기