Windows Git配置文件:最佳实践
我设法让Git与Github一起运行,现在(一年后),我想教大家如何做到这一点。我从中学到了很多,但即使有了答案,有些事情仍然不清楚。请道歉,如果我不是从电话里得到的 问题:Windows Git配置文件:最佳实践,windows,git,Windows,Git,我设法让Git与Github一起运行,现在(一年后),我想教大家如何做到这一点。我从中学到了很多,但即使有了答案,有些事情仍然不清楚。请道歉,如果我不是从电话里得到的 问题: file:"C:\\ProgramData/Git/config" core.symlinks=false # ... see .git/config file:"C:\\ProgramData/Git/config" core.autocrlf=true file:"C:\\ProgramDat
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
- 是否有最佳实践,哪些参数应该显示在哪个配置文件中
- 我标记了可以通过
、--system
和--global
访问的部件。有人知道第一部分属于哪里吗--local
- 绿色是一切,在我看来,它是好的(以我有限的知识)
- 红色很奇怪,因为它存在两次
git config--list--show origin
时,我得到以下结果:
编辑@Code peedient:来自git bash
$ git config --list --show-origin --system
file:"C:\\Git\\mingw64/etc/gitconfig" credential.helper=manager
和cmd
>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
Git将用更多的本地设置覆盖更多的全局设置。如果更改了更多的全局值,输出中的重复(红色)值将保证更局部级别的一致性。Git将用更多局部值覆盖更多全局设置。如果更改了更多的全局值,输出中的重复(红色)值将保证更局部级别的一致性
- 是否有最佳实践,哪些参数应该显示在哪个配置文件中
- 我标记了我可以通过--system,-global和--local访问的部分。有人知道第一部分属于哪里吗
git config--filec:\ProgramData\git\config--list
等列出并更改它们
- 绿色是一切,在我看来,它是好的(以我有限的知识)
user.email
并没有在我的工作框中设置为全局级别,因为我处理私人和公司回购协议,并在那里使用不同的地址。通过不在全局级别上进行配置,我会在本地级别上得到提醒,在执行第一次提交时设置它
- 红色很奇怪,因为它存在两次
credential.helper=manager
,但为您的用户设置为使用credential.helper=wincred
,就像您在示例中所做的那样
- 是否有最佳实践,哪些参数应该显示在哪个配置文件中
- 我标记了我可以通过--system,-global和--local访问的部分。有人知道第一部分属于哪里吗
git config--filec:\ProgramData\git\config--list
等列出并更改它们
- 绿色是一切,在我看来,它是好的(以我有限的知识)
user.email
并没有在我的工作框中设置为全局级别,因为我处理私人和公司回购协议,并在那里使用不同的地址。通过不在全局级别上进行配置,我会在本地级别上得到提醒,在执行第一次提交时设置它
- 红色很奇怪,因为它存在两次
您可以在每个级别上设置每个设置,较低级别覆盖较高级别的值,这是完全合法的。你可以用e。G为系统上的所有用户设置为使用
credential.helper=manager
,但为您的用户设置为使用credential.helper=wincred
,就像您在示例中所做的那样。对于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
(中的提示已过时)对于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
(提示已过时)好的,部分内容已被理解。对不起,我是新来的:
/ProgrammData
中的部分是什么?这个文件对你有意义吗?您有什么改进建议吗?@Christoph我认为C:\\ProgramData/Git/config
是最具全局性的文件。基本上这是所有的默认设置。所有这些都可以在每个较低的级别被覆盖。@Christoph仔细查看后,我认为C:\\ProgramData/Git/config
和C:\\Git\\mingw64/etc/gitconfig
都是系统级设置。区别在于,第一个用于Windows,第二个用于Git Bash。我敢打赌,如果您从cmd
运行相同的git config
命令,您将不会看到mingw64
config文件。不,我不这么认为。我对这两个问题都进行了测试(参见我对问题的编辑)。看起来你必须按照下面的答案来访问它们。好的,部分内容已经理解了。对不起,我是新来的:/ProgrammData
中的部分是什么?这个文件对你有意义吗?你有什么改进的建议吗?@Christoph我想C:\\ProgramData/Git/config
是最好的选择