에디터 실행 없이 커밋 생성
$ git add TestService.java
$ git commit -m "Commit 2 for TestService"
커밋 히스토리 관련 옵션
$ git log -u
$ git log -u 'commit ID'
$ git show 'commitID'
- 특정 커밋에 대한 변경점(git diff 내용)만 보여줌
- 위 두개 명령어는 동일한 결과
$ git log -1
$ git log -2
...
- 최신 커밋 기준 몇개까지 출력할 지 지정 가능
- -1 : 최신 커밋 한개만
- -2 : 최신 커밋 두개만
$ git log --name-only
$ git log --oneline
커밋 되돌리기
$ git commit --amend
- 마지막 반영한 최신 커밋 메시지를 변경하고 싶을 때, 최신 커밋 수정 가능한 에디터가 실행됨.
- 최신 커밋 메시지만 수정할 수 있다. 따라서 되돌린 것은 복구할 수 없다.
$ vi AmendService.java
$ git add AmendService.java
$ git commit --amend
- 파일 수정 후 스테이징 영역에 추가
- git commit -amend 명령어로 커밋 수정 => 한 커밋에 두 가지 파일 수정도 나타낼 수 있도록
$ git revert 'CommitID'
- 코드를 원복한다(=변경을 취소한다)
- 이미 커밋을 만들었는데, 커밋 히스토리를 유지하면서 내용만 롤백하는 경우
- 히스토리 관리가 매우 중요한 실무에서 주로 사용됨
커밋 원격 저장소에 반영
$ git push origin master
- push 했을 때, 원격저장소에 다른 개발자가 올린 다른 커밋이 존재하는데 본인의 로컬 저장소에 없을 때 reject가 발생한다.
- 이 때 원격저장소의 다른 개발자들의 커밋을 자신의 로컬 저장소로 가져오는 작업을 해야한다.(pull)
원격저장소 내용 가져오기
$ git pull origin master
- 원격저장소 내용을 본인의 로컬저장소로 가져온다.