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는 기본 스타일로는 불가능한 충돌 해결을 가능하게 함
  • git이 좋아하는 pager를 사용하도록 설정할 수 있음을 발견함. 그래서 bat로 설정함