▲GN⁺ 2025-02-26 | parent | ★ favorite | on: Git 코어 개발자는 Git을 어떻게 설정하고 사용할까?(blog.gitbutler.com)Hacker News 의견 내가 가장 좋아하는 alias는 git out임. 이는 푸시되지 않은 커밋을 모두 나열함. 항상 사용함 [alias] out = "log @{u}.." 많은 사람들이 자신의 ~/.gitconfig를 고민하는 동안, git CLI의 동반자로 delta를 강력히 추천함 나의 ~/.gitconfig는 다음과 같음 [alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short type = cat-file -t dump = cat-file -p dft = difftool [tag] sort = version:refname [tar "tar.xz"] command = xz -c [tar "tar.zst"] command = zstd -T0 -c [log] date = iso-local [pull] ff = only [diff] tool = difftastic [safe] directory = * [advice] detachedHead = false [init] defaultBranch = master 커밋 서명이 왜 이 설정에 포함되지 않았는지 궁금함. 현대적인 SSH 키로 쉽게 할 수 있음 [user] name = xyz email = xyz@domain.com signingkey = ~/.ssh/id_algorithm.pub [commit] gpgsign = true [tag] gpgsign = true [gpg] format = ssh # restrict allowed signers # echo "$(git config --get user.email) namespaces=\"git\" $(cat ~/.ssh/id_*.pub)" >> ~/.git_allowed_signers [gpg "ssh"] allowedSignersFile = ~/git_allowed_signers GitHub에서 SSH 키를 인증과 서명에 추가할 수 있음. 두 번 추가해야 하지만, 한 번 설정하면 커밋에서 'unverified' 레이블을 제거할 수 있음 Julia Evans의 인기 있는 Git 설정 옵션 내가 좋아하는 추가 옵션들 [apply] # Remove trailing whitespaces whitespace = fix [color "diff"] whitespace = red reverse [diff] colorMovedWS = allow-indentation-change [format] pretty = fuller [log] date = iso [pull] ff = only 내 설정은 여기 있음. 기본적으로 이미 설정되어 있었음 (column UI 제외). 아마도 Scott 등의 좋은 글을 읽었기 때문일 것임 (z)diff3 사용 추천에 동의함. 기사는 그 중요성을 과소평가함. 세 방향 diff는 기본 스타일로는 불가능한 충돌 해결을 가능하게 함 기본 스타일에서는 같은 위치에 충돌하는 내용을 추가하는 것이 같은 위치에서 제거하는 것과 구분되지 않음. 이를 구분하기 위해서는 기본을 볼 수 있어야 함 더 많은 내용을 여기에 작성함: diff3 should be the default diff3 스타일을 사용하여 리베이스(또는 병합) 충돌을 기계적으로 해결하는 방법 git이 좋아하는 pager를 사용하도록 설정할 수 있음을 발견함. 그래서 bat로 설정함 git config --global core.pager bat https://github.com/sharkdp/bat/ bat - Syntax Highlighting 되는 cat
Hacker News 의견
git out임. 이는 푸시되지 않은 커밋을 모두 나열함. 항상 사용함git config --global core.pager bat