Step3. 커밋 내용 확인하기

- 지금까지 어떤 버전을 생성했는지, 각 버전 간에 어떤 차이가 있는지 알 수 있다.

 

   3-1. 커밋 기록 자세히 살펴보기 - git log

        - git log : 지금까지 만든 버전과 각 버전에 대한 설명이 화면에 나타난다.

커밋 해시(commit hash) : commit 옆, 영문과 숫자로 된 긴 문자열(= 깃 해시,git hash)

(HEAD -> master) : 이 버전이 가장 최신이라는 표시

Author : 버전을 누가 만들었는지

Date : 버전이 언제 만들어졌는지

커밋 로그(commit log) : git log 명령을 입력했을 때 나오는 정보들

   3-2. 변경 사항 확인하기 - git diff

       - 작업 트리에 있는 파일과 스테이지에 있는 파일을 비교하거나, 

       - 스테이지에 있는 파일과 저장소에 있는 최신 커밋을 비교해서

       - 수정한 파일을 커밋하기 전에 최종적으로 검토할 수 있다.

vim hello.txt 2를 two로 수정
hello.txt 파일이 수정되었고, 아직 스테이징 상태가 아니다.

'-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이 실행되며 원래 커밋 메시지가 뜨고, 수정하면 된다.

+ Recent posts