본문 바로가기
뒷북 정리 (국비 교육)/git, github

Git command : status (feat. ignore)

by 규글 2022. 3. 30.

status : 현재 상태 확인하기

>>> git status (default : --long)

>>> git status -s
>>> git status -b

 status는 지위나 신분, 자격을 의미하는 단어로, 현재 작업하고 있는 내용들이 어떤 상태인지 간단하게 살펴볼 수 있는 명령어이다. 명령어의 옵션이 궁금하다면 -h (help)를 작성하여 확인할 수 있다. status 명령어의 default 옵션인 --long이다. s옵션은 상태를 간단하게 확인할 수 있고, b옵션은 branch의 정보를 확인할 수 있다.

 init 명령어를 수행하고 아무런 작업을 하지 않았기때문에 commit도 없고 (No commits yet) commit을 할 어느 것도 추가되지 않았다는 메시지만을 확인할 수 있으나 (nothing added to commit), 새로운 파일을 만들고 다시 status 명령어를 사용해보면 untracked files라는 메시지와 함께 새로운 파일이 표기되는 것을 확인할 수 있으며, track하기를 원한다면 add 명령어를 사용하라고 친절하게 알려주고 있음을 볼 수 있다.

 

 s 옵션을 사용했을 때 파일의 왼쪽에 보이는 A는 'add'를, M은 'modify' 를, ??는 'untracked'를 의미한다. 그리고 녹색은 staging area를, 빨간색은 working directory를 의미한다. 예시를 해석해보자면 c.txt, d.txt, e.txt는 staging area에 있고 그 와중에 e.txt는 또 수정되었으며, b.txt가 working directory에서 수정되었으며, test.log가 working directory에 untracked 상태로 있다고 할 수 있다.

 s 옵션의 경우 예시처럼 간편하고 빠르게 확인할 수 있지만, 처음에는 상세한 내용들이 작성된 default를 이용하고 적응되면 사용하고 일단 옵션 없이 사용하는 것을 권장한다.

 

ignore : 추가를 원하지 않는 친구들

 만약 프로젝트 안에 다양한 형태의 파일들이 있다면? 그 중에서도 특정 파일만 추가하고 싶다면 어떻게 할까? 그냥 add 명령어를 이용해서 파일을 특정지어서 staging area로 넘기면 된다. 그렇다면 그중에서 특정 파일을 추가하고 싶지 않다면 어떻게 할까? 그럴 때 gitignore를 이용한다. '.gitignore' 파일을 만들어서 추가하고 싶지 않은 파일, 폴더 등의 조건을 작성하는 것이다.

 

 그렇다면 위 예시에서 test.log 파일을 제외하고 싶다고 가정해보자. 그래서 '.gitignore' 파일을 만들고 예외로 설정한 전후의 상태를 status 명령어로 수행한 결과는 다음과 같다.

 log 확장자 파일이 더 이상 tracking되지 않으면서 새롭게 .gitignore 파일이 tracking되는 것을 확인할 수 있다.

'뒷북 정리 (국비 교육) > git, github' 카테고리의 다른 글

Git command : log, checkout  (0) 2022.03.30
Git command : commit  (0) 2022.03.30
Git command : add (feat.crlf)  (0) 2022.03.30
Git command : init  (0) 2022.03.30
Git 설치 및 전반적인 구성  (0) 2022.03.30

댓글