BIBLIOGRAPHY
xguru. 2025. “Git 코어 개발자는 Git을 어떻게 설정하고 사용할까?” February 26, 2025. https://news.hada.io/topic?id=19441.
관련메타
History
- 추가
- 내어놓자
Git 코어 개발자는 Git을 어떻게 설정하고 사용할까?
(xguru 2025) xguru 2025
“Pro Git” 저자인 Scott Chacon이 글로벌로 활성화한 몇 가지 Git 설정과 그 이유를 설명설정 중 다수는 실제로 Git 코어 코드베이스를 작업하는 개발자들로부터 배운 것임아래는 Git을 더 좋게 만드는 \textasciitilde/.gitconfig 설정[column] ui = auto [branch] sort = -committerdate [tag] so
git 윈도우즈 환경 설정 파일
- #MS윈도우즈 #이맥스 설치 및 활용 여기 말이다.
- ~/.gitconfig 설정 파일 임
- [BROKEN LINK: LogSeq] [BROKEN LINK: UTILS/CMDs] CRLF, LF 이슈 [BROKEN LINK: GitHub] collapsed:: true
- git config core.quotepath false — 이것은 덤이다.
- [WINDOWS] git config —global core.autocrlf true
- [LINUX] git config —global core.autocrlf input
- https://www.lesstif.com/gitbook/git-crlf-20776404.html
git config --global user.name "junghan0611"
git config --global user.email 31724164+junghan0611@users.noreply.github.com
git config --global merge.conflictstyle diff3
# 인코딩 관련
git config --global core.quotepath false
git config --global core.autocrlf input
아카이브
DONE bennyandresen/jujutsu.el
추가
@user git 에서 한글 파일의 경우 unicode로 파일명이 저장되는데 ~/.config/git/config 파일에 관련 설정을 하는 방법이 있는데 방법을 알려줘. 리눅스 깃 한글 깃환경이야.
아 아마 내 설정에 들어가 있을 수도 있어. 다른 서버에 세팅하면서 찾아보는 중이거든. 확인해봐봐.
@assistant 리눅스 환경에서 git 한글 파일명 문제는 주로 두 가지 설정으로 해결합니다.
core.quotepath = false이 설정은 git이 한글 등 0x80 이상의 바이트를 가진 문자(즉, 비ASCII 문자)를 이스케이프 처리하지 않고 그대로 출력하도록 합니다. 기본값은 true라서 한글 파일명이\xxx\xxx형태로 깨져 보이는데, false로 하면 정상 한글로 표시됩니다. 예)git config --global core.quotepath false = 또는 =~/.config/git/config= 파일에 아래처럼 설정합니다. #+begin_src [core] quotepath = false = 이 설정이 한글 파일명 출력 문제를 가장 많이 해결합니다[1][2][3][4]. 2. =core.precomposeunicode = true= 이 옵션은 macOS에서 한글 자모 분리 문제를 해결하는 데 주로 쓰이지만, 리눅스에서도 유니코드 정규화 문제에 도움될 수 있습니다. 이미 질문에 올려주신 설정에 포함되어 있네요. #+begin_src [core] precomposeunicode = true = 이 옵션은 한글 파일명이 자소 단위로 분리되는 문제를 방지합니다[3]. 요약하면, 한글 파일명 문제를 해결하려면 =core.quotepath = false=를 반드시 설정하고, =core.precomposeunicode = true=도 함께 설정하면 좋습니다. 질문에 올려주신 =~/.config/git/config= 파일에는 이미 =precomposeunicode = true=와 =quotepath = false=가 설정되어 있어 한글 파일명 관련 설정은 적절히 되어 있는 상태입니다. 즉, 다른 서버에 세팅할 때도 동일하게 아래 두 설정을 포함시키면 됩니다. #+begin_src ini [core] precomposeunicode = true quotepath = false
이외에 한글 파일명 인코딩 문제는 터미널 환경(로케일)이나 에디터 설정과도 관련 있으니, 터미널 로케일이 UTF-8로 설정되어 있는지 확인하는 것도 중요합니다.
Citations: [1] https://sw-ym.tistory.com/126 [2] https://zlzzlzz2l.tistory.com/50 [3] https://blog.asamaru.net/2017/06/26/mac-os-git-korean-file-name-corequotepath/ [5] https://hezma.tistory.com/115
@user zdiff3가 뭔가요? delta와 연동이 된다고 하는데 로컬에 보니 설치도 안되있네요.
@assistant zdiff3=는 Git의 =merge.conflictStyle 옵션 중 하나로, 기본 diff3 스타일과 비슷하지만 =delta=라는 외부 도구와 연동해 더 보기 좋은 병합 충돌(conflict) 출력을 제공하는 스타일입니다.
Git에서 병합 충돌이 발생하면 보통 충돌된 두 버전과 공통 조상(merge base) 세 가지 내용을 보여주는데, =zdiff3=를 설정하면 =delta=가 이 세 가지를 컬러 하이라이트와 함께 두 개의 diff로 나누어 보여줍니다. 즉, =delta=가 병합 충돌 화면을 좀 더 직관적이고 시각적으로 보기 좋게 만들어 줍니다[1][2][4].
zdiff3=는 별도의 독립 실행 파일이 아니라 =delta 프로그램 내부에서 지원하는 병합 충돌 스타일 이름입니다. 따라서 zdiff3=를 사용하려면 =delta=가 설치되어 있어야 하며, =delta=가 설치되어 있지 않으면 =zdiff3 스타일은 동작하지 않습니다.
만약 로컬에 =delta=가 설치되어 있지 않다면, 다음과 같이 설치할 수 있습니다:
- 우분투 등 리눅스 배포판에서는
sudo apt install git-delta(또는 패키지 매니저에 따라 다름) - 또는 GitHub https://github.com/dandavison/delta 에서 바이너리 다운로드 및 설치 가능[2][3].
설치 후 ~/.gitconfig=에 아래처럼 설정하면 병합 충돌 시 =delta=가 =zdiff3 스타일로 출력해 줍니다.
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
[merge]
conflictstyle = zdiff3정리하면, zdiff3=는 =delta=가 지원하는 병합 충돌 스타일 이름이며, =delta=가 설치되어 있어야 동작합니다. 로컬에 =delta=가 없다면 =zdiff3 스타일도 사용할 수 없습니다[1][2][4].
Citations: [1] https://dandavison.github.io/delta/configuration.html [2] https://github.com/dandavison/delta [3] https://kibua20.tistory.com/38 [4] https://dandavison.github.io/delta/merge-conflicts.html [5] https://www.whatwant.com/entry/Delta
@user Delta 가 제공하는 기능이 단순히 보기 좋은 것인가요? 아니면 특수한 diff 기능이 포함 된 것인가요?
@assistant Delta는 단순히 보기 좋은 출력만 제공하는 것이 아니라, 다음과 같은 특수한 기능도 포함한 고급 Git 출력 뷰어입니다.
- 구문 강조(syntax highlighting)를 지원해 코드 변경 부분을 언어별로 색상 구분해 보여줌
- Levenshtein 편집 거리 알고리즘을 이용한 단어 단위 차이 강조(word-level diff)
- 나란히 보기(side-by-side diff)와 줄 바꿈 기능 제공
- git diff, grep, blame 등 다양한 Git 명령 출력에 적용 가능
- 매우 빠르고 깔끔한 출력으로 터미널에서 가독성 크게 향상
즉, Delta는 단순히 “보기 좋게” 만드는 데 그치지 않고, 내부적으로 단어 단위 차이 계산 등 특수한 diff 기능을 포함해 Git 출력의 품질과 가독성을 크게 개선하는 도구입니다[1][3][4].
한편, Git 자체는 프로젝트 전체를 스냅샷 형태로 관리하는 방식이고, Delta는 이 Git 출력 결과를 더 효과적으로 보여주기 위한 보조 도구 역할을 합니다[2].
요약하면, Delta는 보기 좋은 출력뿐 아니라 단어 단위 차이 강조, 구문별 색상 표시, 나란히 보기 등 특수한 diff 기능을 포함한 고급 Git 출력 뷰어입니다.
Citations: [1] https://news.hada.io/topic?id=17669 [2] https://tech.10000lab.xyz/git/how-git-is-different.html [3] https://news.hada.io/topic?id=13405 [4] https://www.whatwant.com/entry/Delta [5] https://nozeroslope.tistory.com/186
@user
Comments