2011-06-29 25 views
5

有一个令人眼花缭乱的选项阵列,可以通过git config来设置,那就是just the documented ones。在所有这些选项中,每个开发者都应该在其框中设置哪些选项(如user.email)?在常见情况下应该设置哪些最常见的(如Windows上的core.autocrlf=input)?但请远离宗教论点(如core.whitespace唯一可接受的设置为tab-in-indent默认的git配置文件应该怎么做?

回答

7

您的全局git配置(〜/ .gitconfig)应该确实包含适用于所有存储库的设置。主要是像user.nameuser.emailcore.editormergediff应该是相当一致的设置。这就是说我也想启用color,core.pager,rerere,rebase.autosquash和一大堆别名。

[color] 
    filemode = false 
    diff = auto 
    status = auto 
    branch = auto 
    pager = true 
[alias] 
    b = branch 
    ci = commit 
    co = checkout 
    cob = checkout -b 
    d = diff 
    l = log 
    lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative 
    lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --branches 
    st = status 
    fixup = !sh -c 'git commit -a -m \"fixup! $(git log -1 --format='%s' [email protected])\"' - 
    squash = !sh -c 'git commit -a -m \"squash! $(git log -1 --format='%s' [email protected])\"' - 
    ri = rebase --interactive 
    rc = rebase --continue 
    pr = push gerrit HEAD:refs/for/master 
    mt = mergetool 
[user] 
    email = REDACTED 
    name = Matt Henkel 
[core] 
    pager = less -FRSX 
    excludes = ~/.gitexcludes 
    editor = vim 
[rerere] 
    enabled = true 
    autoupdate = true 
[rebase] 
    autosquash = true 
[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    keepBackup = false 
    trustExitCode = false 
[diff] 
    tool = kdiff3 
+8

,而不是“让我看看你的,我会告诉你是我的“你认为你可以解释和证明每件物品?这似乎是一个充满个性化的很长的列表。哪些应该进入“每个”配置? – shemnon

+0

每个人都可能只是:user.name,user.email,core.editor,merge和diff。我只是包含了我的公共共享全局配置以供参考。 – Guildencrantz

1

这里是几个最常见的配置设置的注释列表。当然,每个人的环境/语言/操作系统/ git工作流程是不同的,所以你可能需要稍微调整一下,但这些是最常见的配置变量。

​​

答案从多个来源合并:

  1. http://githowto.com/aliases
  2. http://www.javacodegeeks.com/2013/06/git-configuration-options-you-cant-miss.html
  3. http://michaelwales.com/articles/make-gitconfig-work-for-you/
  4. http://wildlyinaccurate.com/useful-git-configuration-items/