DEVOPS/GIT

[Git] git 커밋(commit) 명령어

연듀 2021. 10. 21. 20:41

 

commit하기 

$ git commit -m "메세지"

 

commit을 하면 stage영역은 초기화된다.

working tree clean 메세지- 더이상 추가된 새로운 파일과 수정된 파일이 없다는 의미

 

 

$ git commit -am "메세지"

 

add와 commit 동시에 실행

 

 

 

메세지 없이 "" 만으로 커밋하려하면 오류가 난다.

 

$git commit --allow-empty-message -m ""

 

메세지 없이 커밋할 수 있는 명령어이다.

 

 

commit간 차이 확인

 

$git diff

 

working directory와 stage를 비교한다. 

 

 

 

$git diff head

 

파일을 stage에 등록하고 git 상태를 확인한다.

git diff를 했을 때 working directory와 stage는 차이가 없는 것을 알 수 있고,

git diff head를 하여 stage와 최신 commit(HEAD)를 비교한다.

 

 

로그 기록 확인

 

$git log

 

 커밋 목록을 확인

시간 순으로 최신 commit 기록부터 내림차순으로 나열

HEAD가 가리키는 커밋이 가장 최신 커밋이다.

 

노란색 부분 commit 다음의 영어 알파벳과 숫자 모음은 commit 아이디라고 한다.

특정 commit을 참조하는 이름이다.

SHA1 해시 알고리즘 사용하여 40자리 16진수로 구성, 중복되지 않은 고유 키이다.

 

 

 

$git log 파일이름

 

특정 파일의 로그 확인

 

 

git log -p : diff 기능 활용

 

 

git log --pretty=short : 각 commit을 요약해서 출력

git log --pretty=oneline : 각 commit을 한 줄로 출력

 

 

파일 수정

index.html 파일을 만들어 

<h1>hi</h1>라는 내용을 넣었고, 커밋했다.

그 후 <h2>git study</h2>라고 추가했다.

 

$git checkout -- index.html

 

수정된 파일 되돌리기

 

수정한 파일을 commit 전 마지막 내용으로 복원한다.

수정 파일을 복원하면, 이전 commit 이후에 작업한 수정 내역은 모두 삭제된다.