본문 바로가기
개발자 도구/Git

Git) local repository의 상태 3가지 (feat. remote)

by Dev.Andy 2023. 7. 24.

목차

    머리말

    들어가기 전에

    • Git의 여러 상태와 각 상태 간의 변화에 대하여 개괄적으로 알아 보자.
    • Git에 대한 전체적인 이미지와 흐름을 알고 있다면 해당 문제가 발생했을 때 좀 더 쉽게 접근하여 문제를 해결할 수 있을 것이다.

    참고 자료

     

    Git Workflow

    Git의 상태에 대한 설명을 글보다는 이미지를 먼저 살펴 보는 게 이해하기 더 쉽다.

    Git graph와 명령어

    Git의 상태에 대한 이미지

    Local의 3가지 상태

    a. Working Directory

    • 말 그대로 "(현재) 작업 중인 디렉토리"라는 뜻으로, 파일을 수정/삭제할 수 있는 상태이다.
    • git add 명령어를 통하여 수정한 파일/디렉토리를 staging area로 보낼 수 있다.

    b. Staging Area

    • add한 파일이 넘어와 commit이 되기 전인 상태이다.
    • stage는 "(명사) 무대, (동사) (~을) 무대에 올리다"라는 뜻"으로, 파일을 commit이라는 무대에 올릴지 말지를 정한다는 뉘앙스를 갖고 있다.
    • staged - 앞으로 commit 할 목록에 포함이 되어 있는 상태
    • unstaged - 앞으로 commit 할 목록에 포함이 되어 있지 않는 상태
    • git commit 명령어를 통해 원하는 파일/디렉토리를 stage하여 현재 PC의 local repository에 어떠한 파일을, 누가, 언제 저장하였는지 기록을 남길 수 있다.

    c. Local Repository

    • commit이 완료된 변경 기록들을 저장하고 있는 저장소이다.
    • repository의 최상단 위치에 ".git"라는 숨겨진 파일에 commit 기록이 모두 저장되어 있다.
    • git push 명령어를 통하여 local에서 remote에 위치한 repository에 저장할 수 있다.

    Remote의 1가지 상태

    앞서 local의 3가지 상태에서는 개인 PC에 저장할 수 있는 방식이다. 이제 원격 저장소라는 의미의 Remote Repository에도 저장을 하여 다른 사람과 같이 버전을 제어해 보자.

    Remote Repository

    • push 된 repository를 GitHub이나 GitLab, Bitbucket과 같은 원격 Git 플랫폼의 remote repository에 저장할 수 있다.

    댓글