2011-06-29 54 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/