Git配置文件:最佳实践

时间:2017-03-08 15:55:46

标签: windows git

我设法让Git与Github一起运行,现在(一年后)我想教小组如何做同样的事情。我从here学到了很多东西,但即使有了答案,有些事情仍然不清楚。如果我没有从git reference

那里得到它,请道歉

问题

  • 是否有最佳实践,哪些参数应显示在哪个配置文件中?

...接下来我的例子:

  • 我通过--system--global--local标记了我可以访问的部分。有人知道第一部分属于哪里吗?
  • 绿色就是一切,我认为,没关系(我的知识非常有限)。
  • 红色很奇怪,因为它存在两次

当我运行git config --list --show-origin时,我得到以下结果:

enter image description here

编辑@ Code-Apprentice
来自git-bash

$ git config --list --show-origin --system
file:"C:\\Git\\mingw64/etc/gitconfig"   credential.helper=manager

和cmd

C:\07 Rprogress\11 Rettung ZCH>git config --list --show-origin --system
file:"C:\\Git\\mingw64/etc/gitconfig"   credential.helper=manager

Git输出为代码

file:"C:\\ProgramData/Git/config"       core.symlinks=false # ... see .git/config 
file:"C:\\ProgramData/Git/config"       core.autocrlf=true
file:"C:\\ProgramData/Git/config"       core.fscache=true
file:"C:\\ProgramData/Git/config"       color.diff=auto
file:"C:\\ProgramData/Git/config"       color.status=auto
file:"C:\\ProgramData/Git/config"       color.branch=auto
file:"C:\\ProgramData/Git/config"       color.interactive=true
file:"C:\\ProgramData/Git/config"       help.format=html
file:"C:\\ProgramData/Git/config"       http.sslcainfo=C:/Git/mingw64/ssl/certs/ca-bundle.crt
file:"C:\\ProgramData/Git/config"       diff.astextplain.textconv=astextplain
file:"C:\\ProgramData/Git/config"       rebase.autosquash=true

file:"C:\\Git\\mingw64/etc/gitconfig"   credential.helper=manager # ... see file:C:/Users/myname/.gitconfig

file:C:/Users/myname/.gitconfig    filter.lfs.clean=git-lfs clean %f
file:C:/Users/myname/.gitconfig    filter.lfs.smudge=git-lfs smudge %f
file:C:/Users/myname/.gitconfig    filter.lfs.required=true
file:C:/Users/myname/.gitconfig    user.name=My name
file:C:/Users/myname/.gitconfig    user.email=my.name@domain.com
file:C:/Users/myname/.gitconfig    credential.helper=wincred
file:C:/Users/myname/.gitconfig    alias.hist=log --pretty=format:'%h - %an, %ad: %s' --graph --date=short
file:C:/Users/myname/.gitconfig    difftool.kdiff3.cmd='C:/Program Files/KDiff3/kdiff3' $LOCAL $REMOTE
file:C:/Users/myname/.gitconfig    difftool.kdiff3.keepbackup=false
file:C:/Users/myname/.gitconfig    difftool.kdiff3.trustexitcode=false
file:C:/Users/myname/.gitconfig    merge.conflictstyle=diff3

file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=false
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.symlinks=false
file:.git/config        core.ignorecase=true
file:.git/config        core.hidedotfiles=dotGitOnly
file:.git/config        remote.origin.url=https://github.com/repo/Rettung-ZCH
file:.git/config        remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config        branch.master.remote=origin
file:.git/config        branch.master.merge=refs/heads/master
file:.git/config        branch.dev1.remote=origin
file:.git/config        branch.dev1.merge=refs/heads/dev1
file:.git/config        branch.dev2.remote=origin
file:.git/config        branch.dev2.merge=refs/heads/dev2

3 个答案:

答案 0 :(得分:2)

  
      
  • 是否有最佳实践,哪些参数应显示在哪个配置文件中?
  •   

这完全取决于您,无论您是希望仅在一个存储库上设置,在您使用您的用户帐户访问的所有存储库上还是在此计算机上的所有存储库上设置(每次当然只有在未从较低配置级别覆盖的情况下) )。

  
      
  • 我通过--system, - global和--local标记了我可以访问的部分。有人知道第一部分属于哪里吗?
  •   

据我所知,这些是Git for Windows客户端的默认值,并且在系统设置级别上(或者更高)。您可以使用git config --file c:\ProgramData\Git\config --list等列出并更改它们。

  
      
  • 绿色就是一切,我认为,没关系(我的知识非常有限)。
  •   

正如我所说,完全取决于你。当地的绿色设置很可能仅在本地层面上有用,是的。例如,对于我user.email,我的工作箱上未设置全局级别,因为我处理私有和公司回购并在那里使用不同的地址。通过不在全局级别配置我在本地级别提醒我在第一次提交时设置它。

  
      
  • 红色很奇怪,因为它存在两次
  •   

你可以在每个级别上设置每个设置,更低级别覆盖上层的值,这是完全合法的。你可以。 G。为系统中的所有用户设置使用credential.helper=manager,但让您的用户使用credential.helper=wincred,就像您在示例中使用的那样。

答案 1 :(得分:2)

对于Windows,应该有以下全局设置:

rem always have Linux line endings in text files
git config --global core.autocrlf input
rem support more than 260 characters on Windows
rem See https://stackoverflow.com/a/22575737/873282 for details
git config --global core.longpaths true
rem some color and diff tweaks
rem   Use SVN's ||| also in git
rem   See https://git-scm.com/docs/git-config#Documentation/git-config.txt-mergeconflictStyle for details
git config --global merge.configStyle "diff3"
git config --global color.diff.new "green bold"
git config --global color.status.updated "green bold"
git config --global color.branch.current "green bold"
rem Sort branches at "git branch -v" by committer date
git config --global branch.sort -committerdate

https://stackoverflow.com/a/24045966/873282的提示已过时)

答案 2 :(得分:0)

Git将使用更多本地设置覆盖更多全局设置。如果更改全局值,则输出中的重复(红色)保证在更本地级别的一致性。