Git 명령어

1 minute read


상태

git으로 관리되는 파일은 크게 3가지 상태로 구분된다.

Modified

로컬 영역에서만 수정된 상태이다.

Staged

현재 수정된 파일을 스냅샷을 만들고 .git 디렉토리(index)에 담아둔다.

이를 Staging area에 등록되었다고 한다.

Committed

staging area에 등록된 변경사항들이 로컬 영역에 확정된다.

원격 저장소에 반영하기 직전의 상태이다.


명령어

github에서 파일을 관리할 때 필요한 기본적인 명령어들이 있다.


  • init

    git init
    

    git으로 관리하고자 하는 디렉토리에서 실행하면 해당 디렉토리에 .git폴더가 생성되어 git으로 관리할 수 있는 상태가 된다.

  • git config

    git config --list
    

    현재 디렉토리의 git 구성을 볼 수 있다.


    git config user.name "Name"
    git config user.eamli "address@email.com"
    
    git config --global user.name "Name"
    git config --global user.eamli "address@email.com"
    

    git 저장소를 사용할 사용자의 이름과 이메일 주소를 설정한다.

    컴퓨터 전역에서 사용자를 정한다면 –global을 붙이면된다.

  • git clone

    git clone 저장소 주소
    

    저장소에서 파일을 복제하여 로컬에 저장한다.

  • git status

    git status
    

    현재 로컬 디렉토리의 파일의 변경사항을 확인한다.

    commit 변경사항과 Tracked/Untracked 상태가 있다.

    Tracked는 git이 추적 및 관리하는 파일이며 Untracked의 파일은 수정이 되어도 git으로 관리되지 않는 파일이다.

    따라서 추적되지 않는 파일은 복구가 불가능하지만 불필요한 파일들이 commit되는걸 방지할 수 있다.

  • git add

    git add 파일
    

    파일을 staging area에 올린다.

  • git commit

    git commit 
    git commit -m "메시지"
    

    staging area에 등록된 파일을 commit한다.

    -m 명령어로 메시지를 남길 수 있다.

  • git push

    git push 저장소명 브랜치명 
    

    원격저장소에 변경된 사항을 반영한다.


일반적으로 저장소의 파일을 clone해서 사용하기 때문에 저장소명은 기본적으로 origin으로 되어있으며

git remote
git remote -v

명령어를 통해 정확한 저장소명을 알 수 있다. -v 명령어로 저장소 url까지 볼 수 있다.


  • git pull

    git pull
    

    원격 저장소의 내용을 가져와 로컬 저장소의 파일과 병합 작업을 실행한다.

  • git fetch

    git fetch
    

    병합하지 않고 원격 저장소의 최신 이력을 확인할 수 있다.