zoukankan      html  css  js  c++  java
  • Git平台使用时的配置分析

    Git仓库的配制文件分为三个部分:

    1. .git/config:指定仓库配置(特定于某个仓库),获取或设置时使用--file参数(或者省去)。

    2. ~/.gitconfig:用户级别仓库配置(适用用于特定用户下的所有仓库),获取或设置时使用--global参数。

    3. /etc/gitconfig:系统级别仓库配置(适用于所有仓库),获取或设置时使用--system参数。

    覆写关系为:小范围覆盖大范围属性;自上到下,作用范围越大。

    在使用Git过程中,需要设置许多定制化的配置;比如:email、name、显示、输入等等。这些配置均写到上述文件中,且使用不同的指令会修改不同位置的文件,也就产生不同的范围。

    下面分为不同的主题,讲述Git中涉及到的不同设置。

    主题1:设置相关的系统属性、指令输入等配置

    获取当前仓库的所有系统设置:

    james@james-PC MINGW64 /d/GitDemo $ git config -l 
    core.symlinks=false
    core.autocrlf=true
    core.fscache=true
    color.diff=auto
    color.status=auto
    color.branch=auto
    color.interactive=true help.format=html
    http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
    diff.astextplain.textconv=astextplain
    rebase.autosquash=true credential.helper=manager
    user.name=ZHANGEfeng-james
    user.email=zfengwust3054@163.com
    core.autocrlf=false

    取消设置指令:

    james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --unset --global user.email 
    james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config -l core.symlinks=false core.autocrlf=true core.fscache=true color.diff=auto color.status=auto color.branch=auto color.interactive=true help.format=html http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt diff.astextplain.textconv=astextplain rebase.autosquash=true credential.helper=manager user.name=ZHANGEfeng-james core.autocrlf=false core.repositoryformatversion=0 core.filemode=false core.bare=false core.logallrefupdates=true core.symlinks=false core.ignorecase=true

    设置指令别名:

    james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --global alias.st status 
    james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git st On branch master nothing to commit, working tree clean james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --global alias.ci commit
    james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --global alias.lg log james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git lg

    commit 8bac1e803752ec07728a8a702043cfdae9370eac
    Author: ZHANGEfeng-james <zfengwust3054@163.com>
    Date: Sat Dec 3 21:12:14 2016 +0800
    testOtherName to test
    commit 908c2e3a0bcc23486887700214f451b00afeb07b Author: ZHANGEfeng-james <zfengwust3054@163.com> Date: Sat Dec 3 21:02:13 2016 +0800 move test to testOtherName

    上述设置结果,执行git lg等价于执行git log。

    主题2:Git的忽略文件配置

    Git版本控制中可通过配置.gitignore文件,将文件中的模式文件排除在Git管理之外。

    .gitignore文件(一般会和.git目录在同一级)示例内容如下:

    bin
    gen
    .classpath
    .project
    *.properties

    若配置.gitignore文件为上述内容,Git将会排除下述情况:所有的bin、gen目录(包含本目录下的bingen,以及任何的子目录bingen等);后缀为classpath、project以及properties的文件。

    .gitignore文件的配置语法如下:

    1. 以斜杠“/”结尾,表示目录;

    2. 以星号“*”,表示多个通配符;

    3. 以问号“?”,表示单个通配符;

    4. 以叹号“!”,表示不忽略(跟踪)匹配到的文件或目录;

    此外,git对于.gitignore匹配文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面则不会生效。

    举例:

    1. fd1/*,说明:忽略fd1目录下的全部内容

    2. /fd1/*,说明:忽略根目录下的/fd1/目录的全部内容;

    3. bin:说明:忽略bin目录下的所有内容;不管是.../bin/目录下的内容还是/bin/目录下的内容都将被忽略

    依照上述的忽略文件制作方式,可以制作同样的一份文件名为:.gitignore_global,其内容同上述。

    并在包含.git/的工程中执行以下指令(如下指令确实需要执行,否则 Git 怎么知道使用忽略文件呢?):

    git config --global core.excludesfile ~/.gitignore_global

    也就是将全局忽略文件都设置为同一份:.gitignore_global;其中~/.gitignore_global为忽略文件所在路径。

  • 相关阅读:
    浅谈页面中的焦点
    简单的jQuery幻灯片实现
    从is(":checked")说起
    通过Javascript得到URL中的参数(query string)
    Javascript设置对象属性为"只读"
    Javascript判断两个日期是否相等
    利用HttpWebRequest访问WebApi
    利用Newtonsoft.Json实现Json序列化与反序列化
    在ASP.NET MVC中以post方式传递数组参数的示例
    SQL Server 锁表、查询被锁表、解锁相关语句
  • 原文地址:https://www.cnblogs.com/CVstyle/p/6183305.html
Copyright © 2011-2022 走看看