Working tree : 내 컴퓨터 (git이 추적하기 전)
==> git add
Staging Area : git이 추적하는 파일 (버전 진행되기 전)
==> git commit
Repository : 버전 저장소 (버전 완성)
git init
: 현재 디렉토리를 git 버전관리 디렉토리로 지정
git add 파일명
: working tree 내에 있는 파일을 git이 추적하는 staging area 로 옮긴다.
git add .
: 현재 디렉토리 내 모든 파일을...git add 디렉토리명
: 해당 디렉토리 내 모든 파일을..git commit
: staging area에 있는 파일을 버전으로 생성한다.
git commit -m "버전명"
: 에디터를 열지 않고 바로 버전에 대한 설명 삽입 가능 (단, 짧게만)git commit -am "버전명"
: add 와 commit을 동시에 가능git status
: git 버전관리 디렉토리 내에 파일 상태 확인 (working tree / staging area)
git log
: git 버전 히스토리 확인
git log --stat
: 버전 내에 파일 리스트 확인 git log -p
: 이전 버전과의 비교git log -p
: 이전 버전과의 비교 내역
git diff
: working tree 내에 있는 파일 (수정된 파일)과 마지막 버전과의 비교
git checkout commit ID
: 해당 commit ID
버전으로 HEAD가 가르키도록 설정 (해당 commit ID
버전이 마지막 버전이 되도록 설정)
git checkout master
: 기존 master로 HEAD가 가르키도록 설정 (기존 마지막 버전으로 다시 설정)
git revert commit ID
: 해당 commit ID
에서 수정한 내역을 되돌려서 이전 버전으로 돌아가기
reset
하여 삭제 하는 것보다 효율적으로 버전을 관리할 수 있다. git reset --hard commit ID
: 해당 commit ID
로 버전이 리셋될 수 있도록 해당 commit ID
이전의 버전을 지워라.
git revert
와 유사하지만 전혀 다르기 때문에 commit ID
설정 시 유의할 것--hard
는 수정하고 있던 파일까지도 모두 삭제하는 강력한 삭제방법이며, git reset
의 다양한 모드 중 하나이다. (git reset --help
활용하여 다양한 모드 확인 가능)commit ID
를 관리하기 쉽게 tag로 관리하는 듯? 이부분도 아직 공부전!