git init
현재 디렉토리를 깃을 사용할 수 있도록 초기화
git status
파일 상태 확인 (untracked, unmodified, modified, staged)
git add 파일/폴더명
깃 스테이징
git commit -m "커밋 메시지"
커밋
git log
깃 로그 확인
git commit -am "커밋 메시지"
커밋과 스테이징을 동시에
git diff
변경사항 확인
git log --stat
로그 통계
git log --graph --oneline
로그를 플로우에 따라 그래프를 그린다. oneline 옵션을 추가하면 한 눈에 편하게 볼 수 있음!
특: 예쁘다
git commit -amend
가장 최근 커밋 수정
git restore 파일/폴더명
스테이지에 올라가 있지 않을 때 취소
이전버전: checkout
git restore --staged 파일/폴더명
스테이징한 파일 스테이징 취소
이전버전: reset
restore vs reset
restore: 스테이징만 취소할 때
reset: 커밋 취소할 때
git reset HEAD^
가장 마지막에 한 커밋을 취소, 커밋과 스테이징을 함께 취소한다.
HEAD^: 현재 HEAD가 가리키는 커밋, 브랜치의 가장 최신 커밋을 가리킴
git reset 옵션
git reset --soft HEAD^
커밋 취소하고 파일을 staged 상태로 작업 디렉토리에 보관
git reset --mixed HEAD^
커밋 취소하고 파일을 unstaged상태로 작업 디렉토리에 보관
git reset HEAD^
--mixed 옵션을 사용할때와 같이, 커밋을 취소하고 unstaged 상태로 작업 디렉토리에 보관
git reset --hard 커밋해시
되돌리기 개념
HEAD가 [커밋해시]로 이동
해당 커밋이 가장 최신이 되고, 이후 커밋은 삭제됨
여기서 커밋해시: 되돌아갈 커밋 해시
git revert 커밋해시
덮어쓰기 개념
나중에 사용할 것을 대비해 커밋은 취소하지만 커밋했던 기록을 남김
해당 커밋해시를 'revert'한 새로운 커밋 생성
[커밋해시] 바로 이전 커밋으로 내용이 변경됨
여기서 커밋해시: 취소할 커밋 해시
더보기
📌 참고한 자료
- [깃&깃허브 입문] by 고경희,이고잉