이번에는 log 와 diff 명령어에 대해 더 자세히 알아보겠습니다.
저번에 만든 버전의 기록을 표시하는 log 명령어에 -p 라는 옵션을 넣어보겠습니다.
-p 옵션은 버전의 변경사항에 어떤 차이가 있는지 나타냅니다.
화면의 초록색 글자 'f1.txt_change'는 버전의 변경사항을 나타내고
빨간색 글자 'souce : 3'은 이전 버전의 내용을 나타냅니다.
다른 예시를 들자면 '--- /dev/null' 이라는 글자가 보이는데 이는 원래 파일이 '없었다'라는 의미입니다.
즉 새로운 파일이 만들어지면서 버전이 생겼기 때문에 파일의 내용이 추가된 점은 있지만 변경된 사항은 없습니다. 그리고 처음 파일이 만들어졌을때의 내용이 바로 초록색 글씨인 'souce : 2' 라는것을 의미합니다.
이번에는 git bash를 하나 더 실행한다음
새로 실행한 git은 'cd ~Documents/git_1'을 통해 git 저장소로 이동해준뒤 원래 git에 'git log' 명령을 실행해보겠습니다.
이때 첫번째의 프로그램에 노란색 글씨인 '7e4d09b1e6de322e8364b387ad6863265c42bcdd'이런 코드는 학교의 학번처럼 버전마다 가지는 고유한 값을 뜻합니다.
이후 저 코드를 Ctrl + Insert로 복사한후 Shift + Insert로 붙여넣기 해서 git log 명령을 실행 해보겠습니다.
그러면 아까 적은 커밋 이전의 내용만 목록이 출력이 됩니다.
git log 명령은 원하는 커밋의 기준에서 이전의 커밋 내용을 출력가능합니다.
커밋 메세지를 1 , 2 , 3 , 4 , 5로 5개의 버전을 만든 후
3일때의 커밋 주소값을 복수해서 'git log (3일때 커밋값)' 명령을 실행하면
1 , 2 , 3일때의 커밋 메세지만 출력이 됩니다.
그렇다면 만약 '두 커밋 사이의 차이'를 알고싶을땐 어떻게 할까요?
바로 diff 명령어를 사용하는 것입니다.
diff 명령은 두 커밋사이의 차이를 알려줍니다.
diff 명령어를 사용하고 두 커밋사이의 차이를 알고싶은 커밋 주소값을 ..을 기준으로 각각 써줍니다.
그러면 두 커밋사이동안 어떤 변화가 있는지 전부 표시해줍니다.
diff의 또 다른 기능에 대해 알아보겠습니다.
먼저 f1.txt의 내용은 'f1.txt_change' 입니다.
이후 내용을 'f1.txt_change_1'으로 변경 해준뒤에
git diff를 써보겠습니다.
그러면 수정전과 후의 차이를 바로 알 수 있습니다.
또한 diff 명령은 파일을 수정하기 전과 후의 차이를 쉽게 확인할 수 있습니다.
작업을 할때 커밋을 하기전에 자기가 작업한 내용이 문제가 없는지를 확인할수있는 마지막 기회입니다.
작업을 1시간만해도 작업하기전의 내용을 기억하기 어렵습니다. 따라서 그 작업이 시작되기 전과 그 후의 차이를 확인함으로써 diff 명령을 통해 가능합니다.
diff명령은 실제 프로젝트를 할때 중요한 명령어 이기 때문에 꼭 기억하시길 바랍니다.