Git

3. git 기본 명령어 (1) - status, add, —cached, ignore, diff

UDUD 2021. 2. 22. 10:54
반응형

1. git status

  • 로컬 파일의 상태들을 확인할 수 있다. 어떤 브랜치에서, 어떤 커밋이 이루어졌으며, 파일들의 상태를 볼 수 있다.
$ git status 

// 간단한 버전
$ git status -s

아래 사진을 보면 master 브랜치에서 작업중이고, Solution2_9.java 파일이 deleted 된 것과 .settings 는 git에서 untracked 상태인 것을 확인할 수 있다.

-s 옵션을 줘서 간단한 버전으로 확인 가능하다.

2. git add

  • untracked 파일을 staging area에 옮길때 사용
git add .settings

라고 하면, .settings가 staging area로 올라가서 git에서 관리되게 된다.

아래 사진을 보면 ?? .settings에서 A .settings ~ 라고 바뀐 상태를 확인할 수 있다.

3. git rm —cached

  • stating area에 있는 파일을 다시 untracked 파일로 이동할때 사용
git rm -r --cached test.txt

.settings파일은 굳이 git에서 관리할 필요가 없으므로 다시 untracked로 이동하였다.

아래 사진을 보면 A .settings ~ 였던 파일이 다시 ?? .settings로 상태가 바뀐걸 확인할 수 있다.

4. git ignore

  • git에 추가하고 싶지 않은 파일을 관리할 수 있다.
  • 주로 log 파일 등을 설정한다.
  • create-react-app 툴을 이용하면, 자동적으로 .gitignore 파일이 생성되는데, 이 파일을 확인해보면 여러 dependency나 build 에 사용되는 파일은 추가하지 않도록 설정되어져있다.
sample.log > .gitignore 
*.log > .gitignore

5. git diff

  • 파일이 어떻게 바뀌었는지 자세히 확인하기 위한 명령어
// 로컬 파일이 staging 파일과 비교해서 어떻게 바뀌었는지 확인 
$ git diff 

// 위 명령어를 치면 아래와 같은 내용이 나온다 
diff --git a/sample.txt b/sample.txt 
index asd1234..gse334s 100000 
--- a/sample.txt 
+++ b/sample.txt 
@@ -1 +1,2 @@ 
hello world 
sample 

// - 는 이전 파일을 뜻한다. +는 현재 파일이다. 
// 2 번째 줄을 보라는 뜻으로 초록색이면 추가가 된 부분, 빨간색이면 삭제가 된 내용이 표기된다. 
// 여기서는 sample이 추가된 것. 

// staging 상태의 파일을 비교하는 명령어 
$ git diff --staged

git diff 다른 예시

 

반응형