Step3. 커밋 내용 확인하기
- 지금까지 어떤 버전을 생성했는지, 각 버전 간에 어떤 차이가 있는지 알 수 있다.
3-1. 커밋 기록 자세히 살펴보기 - git log
- git log : 지금까지 만든 버전과 각 버전에 대한 설명이 화면에 나타난다.

커밋 해시(commit hash) : commit 옆, 영문과 숫자로 된 긴 문자열(= 깃 해시,git hash)
(HEAD -> master) : 이 버전이 가장 최신이라는 표시
Author : 버전을 누가 만들었는지
Date : 버전이 언제 만들어졌는지
커밋 로그(commit log) : git log 명령을 입력했을 때 나오는 정보들
3-2. 변경 사항 확인하기 - git diff
- 작업 트리에 있는 파일과 스테이지에 있는 파일을 비교하거나,
- 스테이지에 있는 파일과 저장소에 있는 최신 커밋을 비교해서
- 수정한 파일을 커밋하기 전에 최종적으로 검토할 수 있다.



'-2'는 최신 버전과 비교할 때 hello.txt 파일에서 2가 삭제되었다.
'+two'는 hello.txt 파일에 two라는 내용이 추가되었다.
비교한 후에
1) 수정한 내용으로 다시 버전을 만들 경우
- 스테이지에 올린 후 커밋한다
2) 수정한 내용을 버리는 경우
- git checkout 명령을 사용해 내용을 취소한다


Step4. 버전을 만드는 단계마다 파일 상태 알아보기
- 깃에서는 버전을 만드는 각 단계마다 파일 상태를 다르게 표시한다. 따라서,
- 1) 파일이 버전 관리의 여러 단계 중 어디에 있는지,
- 2) 그 상태에서 어떤 일을 할 수 있는지 알 수 있다.
4-1. tracked file 과 untracked file - git status
- git status : 화면에 파일 상태와 관련된 메시지가 나타난다.
- 작업 트리에 있는 파일들은 tracked 상태와 untracked 상태로 나뉜다.
tracked file
- 깃은 한 번이라도 커밋한 파일의 수정 여부를 계속 추적한다.
- 따라서 깃이 추적하고 있는 파일을 tracked file이라 부른다.
untracked file
- 한 번도 깃에서 버전 관리를 하지 않았기 때문에 수정 내용을 추적하지 않는다.
- 따라서 깃이 추적하지 않는 파일을 untracked file이라 부른다.






modified: 마지막 버전 이후 수정된 hello.txt
new file: 한 번도 버전관리 하지 않았던 hello2.txt


--stat 옵션: 커밋에 관련된 파일을 살펴볼 수 있다.
로그 화면이 많을 경우
[Enter]를 누르면 : 다음 로그 화면을 보여줌
[Q]를 누르면 : 로그 화면 -> 깃 명령 화면
+) 버전 관리 중인 디렉토리 안에 버전 관리를 하지 않을 특정 파일이나 디렉터리가 있다면,
.gitignore 파일을 만들어 목록을 지정할 수 있다.
vim을 사용해 .gitignore 파일을 만든 후, '파일 또는 디렉토리 이름, 파일 확장자'를 입력
ex) 개인적으로 메모한 파일이나, 프로그램 사용 중 자동생성된 swp파일, 백업 파일 등등
4-2. unmodified, modified, staged 상태
- tracked 상태인 파일은 깃 명령으로 파일 상태를 확인하면,
1) 현재 작업 트리에 있는지
2) 스테이지에 있는지 등
더 구체적인 상태를 알려준다.

[unmodified] 수정 되지 않은 상태
'working tree clean'
현재 작업 트리에 있는 모든 파일은 unmodified 상태이다.


'Changed not staged for commit'
파일이 수정되었고, 스테이지에 올라가지 않았다
[modifed] 파일 수정만 된 상태

'Changes to be committed'
커밋할 변경사항이 있다
[staged] 커밋 직전 단계

'working tree clean'
커밋을 끝내고 난 후 수정이 없는 unmodified 상태로 돌아간다


+) 방금 커밋한 메시지 수정하기 git commit --amend
명령을 입력하면 vim이 실행되며 원래 커밋 메시지가 뜨고, 수정하면 된다.
'Git&GitHub > 이론&공부' 카테고리의 다른 글
[6일차] 깃과 브랜치 - 브랜치(branch)란? (0) | 2020.07.22 |
---|---|
[5일차] 깃으로 버전 관리 - 3 (0) | 2020.07.20 |
[3일차] 깃으로 버전 관리 - 1 (0) | 2020.07.15 |
[2일차] 간단한 리눅스 명령어 (0) | 2020.07.10 |
[2일차] 깃(Git) 설치하기 및 환경 설정하기 (0) | 2020.07.10 |