Git - 기본기 마스터 : Tracking 관리하기

1. gitignore 

.gitignore 명령어를 통해서 자신이 올리고 싶지 않은 파일들을 트랙킹되지 않도록 설정할 수 있다.

 

위와 같이 git폴더에 총 4가지 파일들이 존재하는데 log.log 파일들은 올리고 싶지 않다고 가정해보자

그렇다면 해당하는 파일들을 gitignore 파일에 명시해주면된다. 이를 .gitignore이라는 명령어로 하는것이다.

 

echo *.log > .gitignore  : .log 확장자를 가진 파일들을 gitignore 파일에 추가한다.

 

 

gitignore 파일을 확인해보면

이러한 상태로 저장되어있고 이를 status로 확인해보면

 

실제로 log.log파일은 존재하고 staging area에 올라가지 않았지만 untracked 파일이라고 명시해주지 않고 있다.

이런식으로 파일이름을 작성해도 되고 특정 확장자를 가진파일을 지정해줄 수 도있고 특정 디렉토리에 있는 파일들을 지정해줄 수 도있다.

 

ex) log.log : 파일이름명시

     *.log    : log확장자를 가진파일 명시

     Build/   : Build 디렉토리내 파일 명시

     Build/.log : Build안에 있는 log확장자를 가진 파일을 명시

 

2. git status -s

git status -s  (short) 간단한 버전으로 파일상태를 확인 할 수 있다.

 

초록색 A의 뜻은 Added 즉 Staging Area에 추가된 상태라는 의미이다.

빨간색 ?? 은 트랙킹 되지 않은 파일이라는 의미이다.

 

이번에는 c.txt 파일에 add라는 문장을 추가해서 수정작업을 한뒤

다시 status -s를 통해서 확인해보면

c.txt파일은 stage area에 추가되어있고 working directory에 modified 파일상태로 존재하고 있다는 뜻이다.

 

3. git diff 명령어

git diff 명령어를 통해서 정확하게 어떤파일의 내용이 변경되었는지 확인해볼 수 있다.

 

아무런 옵션을 주지않으면 working directory에 있는 것만 비교해서 볼 수 있는데

한줄씩 읽어보면  a/ 는 이전버전을 의미하고 /b는 현재버전을의미하다.

index는 git 내부적으로 파일들을 참고할때 쓰이는 것이고

---   a/c.txt

+++ b/c.txt  이 두파일을 비교한다는 의미이다.

 

@@-1 +1,3 @@은 아래  변경사항들에 대한 의미인데

-1 첫번째 줄 hello world! 가 이전파일에서 나온 상태이고

새로 변경된 사항은 +1 첫번째줄에서 3번째 줄까지 나온 상태이다.

 

즉 기존에 hello world! 가 있는 상태에서

add

add

두줄이 추가되었다는 것을 의미한다.

 

만약 staging area에 있는 것을 확인해보고 싶다면 

git diff --staged 라는 옵션을 사용한다.

 

마찬가지로 간단하게 해석해보자면

--- /dev/null : 이전에는 아무것도 없었는데

+++ b/b.txt : b.txt라는 파일이 추가가 되었다.

 

@@ -0,0 +1 @@

+hello world!

 

@@ -0, 이전에는 어떤 줄도 없었지만

+1 @@ 새로운파일에는 +hello world! 라는 내용이 추가되었다. 라는 의미이다.