프로젝트를 실행하다보면 빌드를 하면서 생기는 파일이나 log파일등이 생긴다.
이런 파일들을 git에 올리지 않기위해 gitignore를 사용한다.
log.log라는 로그 파일을 ignore해보자.
echo *.log > .gitignore
log파일을 제외하고 싶기 때문에 .gitignore파일을 만들어 *.log 를 작성해준다.
git의 정보를 담고 있는 .git파일과 무시하고 싶은 파일의 정보를 가진 .gitignore이 생성된 것을 확인 할 수 있다.
git status
로 확인해보자.
log.log파일은 추적 대상에 포함되지 않은 것을 볼 수 있다.
git status
를 사용하면 어느 파일이 수정되어서 stage area에 있는지 알수 있다.
하지만 파일의 수정 내용은 알 수 없다.
git diff
를 이용하면 정확히 어떤 파일이 수정되었는지 확인 할 수 있다.
echo add >> c.txt
위와 같이 c.txt에 add라는 문자열을 입력해서 수정하고 변경내용을 확인해보자.
다음과 같이 아무런 옵션 없이 git diff
만 실행하면 현재 워킹 디렉토리에 있는것만 비교해서 볼 수 있다.
한줄씩 확인해보자
diff --git a/c.txt b/c.txt
c.text 앞에 붙어있는 a,b는 각각 커밋된 버전 혹은 stage된 버전과 현재 버전을 가르킨다.
--- a/c.txt
+++ b/c.txt
즉,-(마이너스)기호가 붙은 것은 이전버전인(a/c.txt)을 의미하며
+(플러스)기호가 붙은것은 현재버전인 (b/c.txt)를 의미하고 두 파일을 비교한다고 해석하면 된다.
@@ -1 +1,2 @@
동일하게 -는 이전 버전을 의미하며, +는 현재버전이라는 것을 기억하고 위 내용을 해석해보자.
각 부호 뒤에 붙은 숫자는 파일의 라인을 뜻한다.
즉, -1은 이전버전을 첫번째 줄 까지 확인하라는 뜻이며, +1,2는 현재버전을 첫번째줄부터 두번째 줄까지 확인하라는 의미이다.
hello world!
+add
마지막으로 위 텍스트를 통해 이전버전의 첫번째줄과 현재버전의 첫번째 줄 다음으로 add라는 텍스트가 두번째 줄에 추가 되었다는 것을 알 수 있다.
다시 위 스크릿샷을 보면 새로 추가가 된 add라는 문자열은 초록색인 것을 볼 수 있다.
만약 삭제를 했다면 빨간색으로 표시된다.
추가
stage area에 있는 모든 변경사항을 보려면 --staged옵션 혹은 --cached를 추가해 주면 된다.