$ git status 메시지
changes not staged for commit : 아직 스테이지에 올라가지 않았다
작업 트리에 있는 파일은 크게 tracked상태와 untracked상태로 나뉜다
tracked 파일 : 깃은 커밋한 파일의 수정 여부를 계속 추적하는데 여기서 깃이 추적하고 있다는 뜻에서 tracked파일이라 부른다.
untracked 파일 : 한 번도 버전 관리를 하지 않았기 때문에 수정 내역을 추적하지 않았다는 뜻에서 untracked파일이라 부른다.
$ git log --stat : 커밋과 관련된 파일까지 함께 보기(q를 누르면 로그 화면을 빠져나와 깃 명령을 입력할 수 있다)
$ git status 메시지
working tree clean : 현재 작업트리에 있는 모든 파일의 상태는 unmodified, 즉 수정되지 않는 상태이다
changes not stage for commit : 파일이 수정만 된 상태(위에 써놓은 것처럼 아직 스테이지에 올라가지 않았다는 뜻 포함)
changes to be committed : 커밋 직전단계, 즉 staged 상태
방금 커밋한 메시지 수정하기
$ git commit --amend
작업 되돌리기
$ git checkout -- aa : aa의 변경 사항을 취소(파일의 수정을 취소)
스테이징 되돌리기
$ git add 명령어로 스테이지에 올린 후
$ git reset HEAD ~~ 를 입력하면 스테이지에서 내려짐
최신 커밋 되돌리기
$ git reset HEAD^ : 커밋을 취소하며 스테이지에서도 내려옴
$ git reset 옵션들
1. --soft HEAD^ : 최근 커밋을 하기 전 상태로 작업트리를 되돌린다
2. --mixed HEAD^ : 최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌린다. 옵션 없이 git reset 명령을 사용할 경우 이 옵션을 기본으로 작동합니다.
3. --hard HEAD^ : 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌립니다. 이 옵션으로 되돌린 내용은 복구할 수 없습니다.
특정 커밋으로 되돌리기
$ git reset --hard 커밋해시(커밋ID) : 커밋 해시가 최신 커밋이 되고 그 이후 커밋들을 삭제
커밋 삭제하지 않고 되돌리기
커밋으로 되돌릴때 삭제해도 된다 -> $ git reset
커밋으로 되돌릴때 삭제하면 안 된다 -> $ git revert
cf) revert 명령의 경우 revert 명령 뒤에 취소하려고 하는 버전의 커밋 해시를 지정
'Git' 카테고리의 다른 글
4강 깃허브로 백업하기 5강 깃허브로 협업하기 (0) | 2020.01.01 |
---|---|
3강 깃과 브랜치 (0) | 2019.12.30 |
2강 깃으로 버전 관리하기 (0) | 2019.12.27 |
1강 깃 시작하기 (0) | 2019.12.27 |