본문 바로가기
etc/Git

Git 명령어 모음

by enai 2021. 1. 30.

git을 사용하면서 자주 쓰던, 유용했던 명령어들을 정리해두려고 한다.

더 많은 명령어와 옵션들은 아래 출처에 표시된 Git Reference 사이트에서 확인.

 

먼저, git에서 사용하는 working tree와 index에 대한 설명이다.

Working tree, Index

working tree는 한국어로 작업 트리라고 한다. 로컬에서 작업하는 폴더를 말한다.

index는 저장소와 working tree 사이에 존재하는 공간이다.

working tree에서 변경된 내용을 git add로 index에 먼저 stage 하고, git commit 및 git push로 저장소에 저장할 수 있다.

이 index의 존재 덕에 원하는 일부 변경 내용만 커밋할 수 있는 것이다.

 

git clone

저장소(Repository)를 새 디렉토리에 복제하는 명령어다.

git clone 뒤에 저장소 주소를 입력한다.

 

git remote

원격 저장소를 관리하는 명령어다.

git remote rename <old> <new> 하면 저장소의 이름이 <old>에서 <new>로 바뀐다.

git remote remove <repository name> 하면 해당 저장소가 삭제된다.

 

git status

현재 관리되고 있는 파일들의 상태를 확인할 수 있다.

 

git add (options)

커밋하기 위한 준비 영역(index)에 추가하기

git add . : git으로 추적 중인 모든 파일

git add [file_path] : 추가할 파일의 경로로 직접 추가할 수 있다.

option을 이용해 좀 더 디테일하게 코드를 추가할 수 있다.

git add -p :  수정된 내용을 덩어리 별로 분리하여 추가할 수 있다. 수정된 내용을 눈으로 확인하면서 추가할 수 있기 때문에 자주 사용한다. y -> 추가, n -> 추가x, s -> 더 분리하기, q -> 그만두기 등의 명령어로 더 디테일하게 add 할 수 있다.

그 외에도 많은 옵션이 있는데, -p만 사용해봤다.

 

git commit -m

git commit -m "메시지" 이렇게 작성된 메시지 내용으로 커밋된다.

커밋할 때도 많은 옵션이 있는데, -m만 사용해봤다.

 

git push origin <branch name>

git 저장소에 커밋한 내용들을 집어 넣는다.

git push origin master를 치면, 원격 저장소의 master 브랜치에 커밋한 내용들이 저장된다. 만약 master 브랜치가 원격 저장소에 없으면 새로 생성된다.

 

git pull

git pull을 실행하면 연결된 원격 저장소의 내용을 로컬 저장소로 당겨와 통합된다.

 

git reset HEAD~n

마지막 커밋 n개 취소하기

한 개는 git reset HEAD~1

두 개는 git reset HEAD~2

 

git rm

working tree와 index에서 파일을 제거한다.

git rm -r . : 모든 디렉터리를 따라가 파일들을 제거한다.

git rm -r --cached . : --cached 옵션이 있어, working tree의 파일들은 그대로 있고, index에서만 모든 디렉터리의 파일들을 추격해 제거한다.

이 글을 쓰게 된 계기,

gitignore 내용을 수정했는데, 이미 원격 저장소로 올라간 파일 내용을 제거하기 위해서 이 명령어를 알아야 했다.

git rm -r --cached .
git add .
git commit -m "remove all files in the .gitignore"
git push

이러면 저장소에 있는 내용이 사라지고 gitignore이 반영된 상태에서 저장소가 다시 업데이트된다.

 

 

 

 

출처)

누구나 쉽게 이해할 수 있는 Git 입문 - 작업 트리와 인덱스

Git - Reference

nochoco-lee - 5.15: .gitignore 에 추가하기 전에 이미 커밋되어 있던 파일들 정리하기

 

댓글