git(2)

이선민·2021년 12월 4일
0

.gitignore

프로젝트 디렉토리의 무시해야 하는 파일은 .gitignore에 추가한다.

*.a # 모든 .a파일을 무시
!lib.a # 위의 .a 파일을 무시하더라도 lib.a는 추적하라는 명령어

/TODO # 현재 디렉토리의 TODO 파일만 무시, subdir/TODO는 무시 ❌

build/ # build라는 이름의 디렉토리에 있는 모든 파일을 무시

doc/*.txt # doc/notes.txt는 무시, doc/server/arch.txt는 무시 ❌

doc/**/*.pdf # doc/ 디렉토리와 그 하위 디렉토리에 있는 모든 .pdf 파일을 무시

Staging files

git add 명령어는 다음 변경(commit)을 기록할 때까지 변경분을 모아놓기 위해서 사용한다

git commit 명령어를 통해 명시적으로 기록을 남기기 전까지는 아무리 git add 명령어를 많이 실행해도 Git 저장소의 변경 이력에는 어떤 영향도 주지 않는다.

작업 디렉토리는 아직 커밋 할 준비가 안된 변경 내용을 자유롭게 수정할 수 있는 공간인 반면에, 스테이징 영역은 커밋 할 준비가 된 변경 내용이 Git 저장소에 기록되기 전에 대기하는 장소라고 생각한다.

git add 명령어를 사용하면 현재 작업 디렉토리에 있는 모든 또는 일부 변경 내용을 스테이징 영역으로 이동시킬 수 있다.

git add a.txt # a.txt stage
git add a.txt b.txt # a.txt, b.txt stage
git add *.txt # .txt로 끝나는 모든 파일을 stage
git add * # 모든 변경 내용 stage (.gitignore에 있는 파일 포함)
git add . # 현재 디렉토리의 모든 변경 내용을 stage (.gitignore에 있는 파일은 제외)

status

git add 명령어를 사용할 때, 항상 함께 사용하게 되는 명령어가 git status

status 명령어는 작업 디렉토리(working directory)와 스테이징 영역(staging area)의 상태를 확인하기 위해서 사용한다.

0개의 댓글