Git 2.56 릴리스, git refs 명령 4개와 윈도우 설치

Git 2.56 릴리스, git refs 명령 4개와 윈도우 설치

발행 2026.10.02읽는 시간 약 14분

Git 2.56 릴리스 소식을 듣고 지금 올려도 될지 고민하는 분이 많을 텐데요. Git 2.56.0은 9월 28일에 공개됐고, 윈도우용도 같은 날 올라와 곧바로 설치할 수 있습니다.

공개일 — 2026년 9월 28일(확정)
릴리스 — Git 2.56.0, 윈도우판 v2.56.0.windows.1
독자 — Git을 쓰는 개발자, 특히 윈도우 사용자
변경점 — git refs 하위 명령 4개, 도움말 종료 코드 129 → 0
근거 — Git 릴리스 노트 2.56.0, 2026년 10월 2일 확인

Git 2.56에서 달라진 것 다섯 가지

눈에 띄는 변화는 git refs에 하위 명령이 네 개 새로 들어온 것입니다.

Git 2.56에서 달라진 것 카드

릴리스 노트에 올라온 이름은 create, delete, update, rename입니다. 참조(브랜치나 태그가 어느 커밋을 가리키는지 기록해 둔 이름표)를 새로 만들고 지우고 바꾸는 하위 수준의 명령입니다.

이런 작업은 이전에 git update-ref를 비롯한 여러 명령이 나눠 맡고 있었습니다. 다른 변경점까지 한 표로 모으면 다음과 같습니다.

바뀐 곳 2.55까지 2.56
참조 명령 update-ref git refs 4개
충돌 스테이징 add -u add –resolved
브랜치 정리 하나씩 삭제 --delete-merged
도움말 종료 코드 129 0
그래프 루트 커밋 같은 열 들여쓰기
출처: Git 릴리스 노트 2.56.0 · GitHub 블로그 · 2026년 10월 2일 읽음

git add --resolved는 충돌을 해결한 파일만 골라서 스테이징합니다. 충돌 표식이 한 군데라도 남은 파일이 있으면 아무것도 추가하지 않고 중단합니다.

git branch --delete-merged를 쓰면 상위 브랜치(업스트림)에 합쳐 둔 로컬 브랜치를 단번에 삭제할 수 있습니다.

오타를 바로잡아 주는 힌트도 추가됐습니다. git push origin/main을 입력하면 git push origin main이라고 제안합니다.

GitHub 블로그에 따르면 이번 릴리스에는 104명 넘는 기여자가 참여했으며 그중 39명은 첫 참여입니다.

출처: Git 프로젝트 · Git v2.56 Release Notes


누가 영향을 받나요?

스크립트가 도움말의 종료 코드를 검사하거나 윈도우의 파일 경로를 고정해 둔 설정이라면 영향이 있습니다.

평소처럼 커밋하고 푸시하는 일에는 달라지는 것이 없습니다. 2.56 릴리스 노트에는 호환성이 깨지는 변경만 따로 묶은 절이 없습니다.

영향을 받는 범위는 좁습니다. -h나 --help를 직접 지정하면 종료 코드가 이전의 129가 아니라 0으로 나오도록 바뀌었습니다. 자동화 스크립트가 129를 전제로 짜여 있다면 수정이 필요합니다.

올릴 때 걸릴 수 있는 곳 카드

윈도우 쪽에는 두 가지가 더 있습니다. 우선 Git for Windows 2.56.0부터 윈도우 8.1 지원이 종료됐습니다.

또 내부 경로가 바뀌어서 /mingw64/bin/git.exe는 더 이상 없고, 그 역할을 /ucrt64/bin/git.exe가 이어받습니다.

이전 경로를 직접 적어 둔 설정은 릴리스 글이 /cmd/git.exe로 교체하라고 안내합니다. 이 경로는 바뀌지 않고 그대로 쓰인다고 쓰여 있습니다.

외부 OpenSSH를 사용 중이라면 하나 더 확인할 점이 있습니다. 직전 판 v2.55.0(5)의 설치 파일 문제로 해당 옵션이 꺼졌을 가능성이 있기 때문입니다.

새 설치 파일을 실행해서 ‘Only show new options’ 항목의 체크 표시를 지우고 옵션을 처음부터 다시 고르는 것이 공식 권장입니다.

출처: Git for Windows · v2.56.0.windows.1 릴리스

이제 지금 쓰는 PC의 상태부터 점검해 보겠습니다.


윈도우에서 올리기 전 확인하고 설치하기

9월 28일에 나온 Git for Windows 2.56.0은 winget 명령 한 줄이면 설치됩니다.

업그레이드 전에 현재 값을 기록해 두면 이후에 비교하기 편합니다. 아래 여섯 줄은 구버전에서도 실행됩니다.

git --version
git --exec-path
git branch -h > /dev/null 2>&1; echo $?
git config --get init.defaultBranch
git rev-parse --show-object-format
git rev-parse --show-ref-format

직접 실행함 (환경: Windows 10 · Git 2.50.1) · 설치된 버전과 경로, 도움말 종료 코드, 기본 설정값을 조회

git version 2.50.1.windows.1
C:/Program Files/Git/mingw64/libexec/git-core
129
master
sha1
files

직접 실행함 (환경: Windows 10 · Git 2.50.1) · 앞의 여섯 줄이 내놓은 출력이며 빈 저장소에서 실행

두 번째 줄에는 mingw64 경로가, 세 번째 줄에는 129가 찍혔습니다. 앞서 설명한 두 항목이 2.50.1에서는 이전 값 그대로 나온 것입니다.

설치는 git-scm.com이 소개하는 두 갈래입니다. 설치 파일을 내려받거나 winget 명령을 쓰면 됩니다.

winget install --id Git.Git -e --source winget

공식 문서 예시 · git-scm.com의 윈도우 설치 안내에 실린 winget 명령을 변경 없이 가져옴

윈도우용 Git 2.56.0 카드

설치 파일은 x64용과 ARM64용 두 종류입니다. 윈도우판에는 Git LFS 3.8.0도 함께 포함됩니다.

올린 다음에는 git --version을 한 번 더 실행하세요. 릴리스 태그가 v2.56.0.windows.1이니 첫 줄에 2.56.0이 앞서 보이면 제대로 올라간 것입니다.

새 명령의 형식은 다음과 같습니다.

git refs create <ref> <new-value>
git refs update <ref> <new-value> [<old-value>]
git refs delete <ref> [<old-value>]
git refs rename <old-ref> <new-ref>

공식 예시를 줄임 · git-refs 문서의 사용법 중 –message 등 선택 옵션을 생략

이전 값을 함께 넘기면 참조가 정확히 그 값일 때에만 수정하거나 삭제합니다. rename은 reflog까지 이동시키지만 git branch -m처럼 브랜치 설정을 조정해 주지는 않습니다.

충돌을 해결한 다음에는 이렇게 사용합니다.

git add --resolved
git status --short

공식 예시를 줄임 · GitHub 블로그의 Git 2.56 하이라이트 글에 나온 예시에서 오류 메시지와 주석 줄을 뺌

 M notes.txt
M  recipe.txt

공식 문서 예시 · 같은 글에 나온 git status –short 출력을 그대로 옮김

충돌이 있던 recipe.txt만 스테이징됐고, 충돌과 무관하게 수정한 notes.txt는 손대지 않은 채 남았습니다.

충돌 표식이 남은 경우에는 동작이 다릅니다. 해당 파일 이름을 알려 주고, 인덱스는 변경하지 않은 상태로 종료합니다.

출처: git-scm.com · Install for Windows


Git 3.0과의 관계, SHA-256 기본값은 아직이에요

SHA-256이 기본값이 되는 것은 Git 3.0의 계획이며, 3.0 출시 시점은 확정되지 않았습니다.

최근 화제인 SHA-256 전환은 2.56에서 일어난 변화가 아닙니다. 2.56 릴리스 노트에는 해시 기본값을 바꾸는 항목이 들어 있지 않습니다.

Git 프로젝트는 호환성을 깨뜨리는 변경점을 한 문서에 모아 관리합니다. 그 문서가 밝힌 기본값의 변화는 다음과 같습니다.

구분 지금 Git 3.0
새 저장소 해시 sha1 sha256
참조 저장 방식 files reftable
bare 저장소 허용 all explicit
셋째 줄은 safe.bareRepository 설정값 · 출처: Git BreakingChanges 문서 · 2026년 10월 2일 읽음
Git 3.0에서 바뀔 기본값 카드

또한 앞으로 새로 만드는 저장소의 첫 브랜치 이름이 main이 된다고 명시돼 있습니다. 같은 문서에는 빌드에 Rust를 반드시 요구한다는 방침도 있습니다.

2.56 릴리스 노트에서 3.0이 언급되는 곳은 이 Rust 관련 한 줄뿐입니다. Rust 지원은 기본으로 켜졌지만 아직 선택 사항이라는 설명입니다.

다만 3.0의 출시일은 미정입니다. 문서에는 예정된 날짜가 아직 적혀 있지 않습니다.

sha1 형식을 없애는 계획도 현재는 없다고 합니다. 달라지는 것은 새로 만드는 저장소의 기본값입니다.

앞의 실행 결과에서 sha1과 files가 나왔습니다. 2.50.1의 기본값이 표의 ‘지금’ 열과 일치한다는 뜻입니다.

출처: git-scm.com · BreakingChanges 문서


언제 올릴까, 미리 볼 여섯 가지

업그레이드 전에 점검할 항목은 여섯 가지이며, 모두 명령이나 설정 파일로 확인할 수 있습니다.

  • 현재 버전 — git --version 출력을 기록해 두었다
  • 종료 코드 — 스크립트가 도움말 옵션의 129를 확인하는 부분이 없다
  • 설정 파일 안에 /mingw64/bin/git.exe 경로가 박혀 있지 않다
  • 운영체제 — 윈도우 8.1을 쓰고 있지 않다
  • OpenSSH — 외부 OpenSSH를 쓰는 경우 설치 옵션을 다시 선택했다
  • 설치 후 — git --version의 첫 줄이 2.56.0으로 시작한다

원래대로 돌아갈 방법도 있습니다. 직전 판인 v2.55.0(5) 설치 파일이 같은 릴리스 페이지에 그대로 남아 있습니다.

--delete-merged는 --dry-run과 함께 쓸 수 있습니다. 실제로 삭제하지 않고 지워질 브랜치의 목록만 보여 주고 끝납니다.

신기능은 GitHub 블로그 글이 예시를 곁들여 가장 자세하게 다룹니다.

출처: GitHub 블로그 · Highlights from Git 2.56


Git 2.56 자주 묻는 질문

Q. git history drop은 바로 써도 되나요?
A. 아직 실험 기능입니다. 선택한 커밋을 삭제하고 그 뒤의 커밋을 부모 위에 다시 쌓는 명령인데, 병합 커밋이 포함된 이력에서는 쓸 수 없습니다. 루트 커밋과 병합 커밋 자체도 삭제할 수 없습니다.

Q. –delete-merged는 어떤 브랜치를 건너뛰나요?
A. 워크트리에서 체크아웃 중인 브랜치와 업스트림이 사라진 브랜치는 삭제 대상에서 제외됩니다. 특정 브랜치를 보호하려면 branch.<name>.deleteMerged 값을 false로 지정하세요.

Q. 설치 없이 쓰는 포터블 판도 있나요?
A. 있습니다. git-scm.com의 윈도우 설치 안내에 x64용과 ARM64용 포터블 판 링크가 별도로 올라와 있습니다.

버전 숫자는 조금 올랐을 뿐인데 체감되는 변화가 꽤 많습니다. 개인적으로는 충돌을 푼 파일만 골라 올려 주는 옵션이 가장 반갑습니다.

수정 기록: 2026년 10월 2일 최초 작성

출처: Git 릴리스 노트 2.56.0 · git-scm.com 첫 화면 9.28 · git-scm.com 윈도우 설치 안내 · Git for Windows 릴리스 9.28 · GitHub 블로그 9.28 · git-refs 문서 · git-branch 문서 · Git BreakingChanges 문서(10월 2일 16시 읽음)

Git 프로젝트와 Git for Windows 공식 글을 바탕으로 정리했습니다. 직접 실행한 명령의 결과는 Windows 10과 Git 2.50.1에서 얻은 값이라서, 환경이 다르면 출력도 달라질 수 있습니다.

Git 2.56 관련해 더 궁금한 점이 있으신가요? 댓글로 알려주세요.

🌏 English — Git 2.56 릴리스, git refs 명령 4개와 윈도우 설치

  • Many people hearing about the Git 2.56 release are wondering whether to upgrade now. Git 2.56.0 was published on September 28, and the Windows build went up the same day, so it can be installed right away.
  • The change that stands out is that git refs gained four new subcommands.
  • The names listed in the release notes are create, delete, update and rename. They are low-level commands for creating, deleting and changing refs, the names that record which commit a branch or tag points to.
  • Work like this used to be split across several commands, including git update-ref. Putting the other changes together in one table gives the following.
  • git add --resolved stages only the files whose conflicts have been resolved. If any file still has a conflict marker, it adds nothing and stops.

🇯🇵 日本語 — Git 2.56 릴리스, git refs 명령 4개와 윈도우 설치

  • Git 2.56のリリースを聞いて、今アップグレードしてよいか迷っている方は多いでしょう。Git 2.56.0は9月28日に公開され、Windows版も同じ日に出たので、すぐにインストールできます。
  • 目を引く変更は、git refsに新しいサブコマンドが4つ加わったことです。
  • リリースノートに載っている名前は、create、delete、update、renameです。参照(ブランチやタグがどのコミットを指すかを記録した名札)を作成、削除、変更する低レベルのコマンドです。
  • こうした作業は以前、git update-refをはじめとする複数のコマンドが分担していました。ほかの変更点も含めて一つの表にまとめると次のとおりです。
  • git add --resolvedは、衝突を解消したファイルだけを選んでステージします。衝突マーカーが一つでも残っているファイルがあれば、何も追加せずに中断します。

🇨🇳 中文 — Git 2.56 릴리스, git refs 명령 4개와 윈도우 설치

  • 听说 Git 2.56 发布后,不少人在犹豫现在是否该升级。Git 2.56.0 已于9月28日发布,Windows 版也在同一天上线,可以马上安装。
  • 最引人注目的变化是 git refs 新增了4个子命令。
  • 发布说明中列出的名称是 create、delete、update 和 rename。它们是用来创建、删除和修改引用(记录分支或标签指向哪个提交的名称标签)的底层命令。
  • 这类操作以前由包括 git update-ref 在内的多个命令分担。把其他变化也汇总到一张表里,如下所示。
  • git add --resolved 只会暂存已经解决冲突的文件。只要还有文件留有冲突标记,它就什么也不添加并中止。

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다