> ## Documentation Index
> Fetch the complete documentation index at: https://blog.nvim.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 현재 커밋 해시 확인하기

> git rev-parse로 현재 커밋의 전체·축약 해시를 조회하고, 첫 커밋이 없는 저장소의 오류와 미커밋 변경의 차이를 확인해요.

저장소 안에서 실행해요. 현재 커밋을 조회하며 파일이나 이력은 바꾸지 않아요.

```bash theme={null}
# 전체 해시
git rev-parse HEAD

# 축약 해시
git rev-parse --short HEAD

# 최소 12자리로 축약
git rev-parse --short=12 HEAD
```

## 관련 옵션과 명령

| 목적 | 명령 | 참고 |
| - | - | - |
| 전체 해시 복사 | `git rev-parse HEAD` | 현재 커밋의 전체 ID |
| 짧게 표시 | `git rev-parse --short HEAD` | 길이는 설정과 저장소에 따라 달라져요 |
| 축약 길이 지정 | `git rev-parse --short=12 HEAD` | 구분에 필요하면 12자리보다 길어져요 |
| 유효한 커밋인지 검증 | `git rev-parse --verify 'HEAD^{commit}'` | 성공하면 전체 해시 출력, 종료 코드 `0` |
| 해시와 메시지 함께 확인 | `git log -1 --format='%H %s'` | `-1`: 한 커밋, `%H`: 전체 해시, `%s`: 메시지 첫 줄 |

`HEAD`는 현재 체크아웃한 커밋을 가리켜요. `index.js`의 `console.log`를 수정하고 저장해도 새 커밋을 만들기 전에는 이 해시가 바뀌지 않아요. 미커밋 변경은 `git status --short`로 따로 확인해요.

## 오류가 나면

* **`unknown revision` / `Needed a single revision`:** `git status`에서 첫 커밋이 없는지 확인해요. 첫 커밋 전에는 조회할 해시가 없어요. 스크립트에서는 출력 유무 대신 종료 코드로 성공 여부를 판단해요.
* **`not a git repository`:** 조회할 저장소 폴더로 이동해요.

## 관련 글

* [Git은 왜 변경을 기록할까요?](https://blog.nvim.me/git/learn/why-git-and-version-control.md) — 커밋과 작업 파일의 차이
* [Git 설치부터 첫 커밋까지](https://blog.nvim.me/git/learn/setup-and-first-commit.md) — 아직 커밋이 없는 경우의 준비


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.