Git/Github

[Git] Git 명령어 (2)

hikr90 2025. 1. 10. 00:22

# Git 명령어

1. git diff

- 최근 커밋과 현재 작업 디렉토리의 차이를 출력하는 명령어

 

 

1.1 git diff --staged

- 스테이지에 추가된 항목과 최근 커밋의 차이를 출력하는 명령어

- 현재 스테이징의 내용과 커밋의 차이는 없으므로 좌측 사진에서는 아무 결과가 뜨지 않는 것이며

- 우측 사진에서는 [git add test1.txt]로 수정사항을 스테이지에 올렸기 때문에 출력 결과가 나오게 된다.

 

 

1.2 git diff [커밋] [커밋]

- 커밋간의 차이를 비교하는 명령어

- [커밋]에는 해당 커밋의 해시 값이 들어가게 되며 해시 값은 [git log --oneline] 에서 확인 가능하다.

 

[참고] git diff 명령어는 브랜치 간 비교에서도 사용 가능하다.
- git diff [브랜치] [브랜치]

 

2. git reset

- 예전 커밋으로 되돌리는 명령어

- 뒤에 어떤 종류를 선택하는 가에 따라서, soft, mixed, hard 로 구분된다.

 

2.1 git reset --soft [커밋]

- 커밋만 되돌리는 명령어

 

- soft reset은 커밋만 되돌아가므로 기존의 다섯번째 커밋까지 존재하던 내역이 없어지며

- 스테이징과 작업 디렉토리 내 변경사항이 그대로 유지되는 것이 확인된다.

 

 

2.2 git reset

- reset 뒤에 옵션없이 바로 커밋의 해시 값을 넣는 경우 mixed reset 으로 동작한다.

- 네번째 커밋을 진행한 뒤, 세번째 커밋으로 mixed reset을 진행

 

- mixed reset은 커밋과 스테이징 내용만을 되돌리므로 [git status] 을 통해서 스테이징된 내용이 없음이 확인된다. 

- (파일에는 수정 내역이 그대로 존재한다.)

 

 

2.3 git reset --hard [커밋]

- hard reset은 커밋한 내용과 스테이지에 추가한 내용을 포함하여 파일을 수정한 내역까지 모두 [커밋] 단계로 되돌린다.

- git log --oneline 명령어를 통해서 리셋하고자하는 커밋의 넘버를 입력한다.

 

 

[참고] git revert [커밋]을 입력할 경우, 해당 커밋을 취소한 뒤 새로운 커밋을 생성한다.


 

3. git stash

3.1 git stash

- 작업 사항을 임시 저장하는 명령어

- 새로운 파일 (test4.txt) 추가하여 커밋한 뒤 해당 파일 수정한 내용을 임시저장한다.

- git statsh -m "메세지" 로 메세지를 추가하여 저장할 수도 있다.

 

 

 

3.1 git stash list

- 임시저장된 내용을 조회하는 명령어

- 최근에 임시저장된 순서로 조회된다. (0이 가장 최신에 저장된 사항)

 

 

3.2 git stash apply [스태시]

- 임시저장된 사항을 적용하는 명령어

 

 

3.3 git stash drop [스태시]

- 임시저장된 내용을 삭제하는 명령어