Git

[Git] git status

thxxyj 2022. 9. 25. 01:27
728x90

  • Untracked files : 추적 안됨 (git에 한번도 올리지 않은 파일)
  • Tracked files:
    •   Unmodified
    •   Modified
    •   Staged

1. nothing to commit, working directory is clean (파일 내용 하나도 수정하지 않음)

2. Untracked (파일 추가/수정/삭제 시)

3. Tracked > Staged (git add 후)  (Staged=Changes to be commited)

4. Tracked > Modified (이미 Tracked 인 파일을 수정하고 아직 git add  하기 전) (=Changed not staged for commit)

(* git add CONTRIBUTING.md  --> Staged 상태가 됨)

5. Tracked > Unmodified (git commit 후)

 

* git commit -am 'commit msg' : git add + git commit 한번에 하기 (단, new file은 불가)


파일 비교

* git diff :  git add 하기 전 수정한 파일(아직 staged 상태가 아닌 파일) 비교

working directory vs. staging area

 

* git diff --staged: staging area에 넣은 파일의 변경 부분 보기

저장소에 commit 한 파일 vs. staging area

 

파일 삭제

1-1. rm README.md     // working directory에서 삭제

1-2. git add README.md    // staging area에 변경사항(파일 삭제) 반영

또는

1. git rm README.md     // working directory + staging area에서 삭제

2. git commit

 

* git rm --cached README.md     // working directory에는 그대로 있고, staging area(=git)에서 삭제

(.gitignore 파일에 추가하는 것을 빼먹었거나 대용량 로그 파일이나 컴파일된 파일인 .a 파일 같은 것을 실수로 추가했을 때)

 

파일 이름 변경

1-1. mv README.md   README 

1-2. git rm README.md

1-3.  git add README

또는

1. git mv README.md    README  // 파일 이름 변경 사항 staging area에 반영

2. git commit

 

출처: https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0

728x90