官术网_书友最值得收藏!

Querying the existing configuration

In this example, we will look at how we can query the existing configuration and set the configuration values.

Getting ready

We'll use jgit again by using the following command:

$ cd jgit

How to do it...

To view all the effective configurations for the current Git repository, run the following command:

$ git config --list
user.name=Aske Olsson
user.email=askeolsson@switch-gears.dk
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://git.eclipse.org/r/jgit/jgit
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

The previous output will of course reflect the user running the command. Instead of Aske Olsson as the name and the e-mail, the output should reflect your settings.

If we are just interested in a single configuration item, we can just query it by its section.key or section.subsection.key:

$ git config user.name
Aske Olsson
$ git config remote.origin.url
https://git.eclipse.org/r/jgit/jgit

How it works...

Git's configuration is stored in plaintext files, and works like a key-value storage. You can set/query by key and get the value back. An example of the text-based configuration file is shown as follows (from the jgit repository):

$ cat .git/config
[core]
 repositoryformatversion = 0
 filemode = false
 bare = false
 logallrefupdates = true
[remote "origin"]
 url = https://git.eclipse.org/r/jgit/jgit
 fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
 remote = origin
 merge = refs/heads/master

There's more...

It is also easy to set configuration values. Just use the same syntax as you did when querying the configuration, except you need to add an argument to the value. To set a new e-mail address on the LOCAL layer, we can execute the following command line:

git config user.email askeolsson@example.com

The LOCAL layer is the default if nothing else is specified. If you require whitespaces in the value, you can enclose the string in quotation marks, as you would do when configuring your name:

git config user.name "Aske Olsson"

You can even set your own configuration, which does not have any effect on the core Git, but can be useful for scripting/builds and so on:

$ git config my.own.config "Whatever I need"

List the value

$ git config my.own.config 
Whatever I need

It is also very easy to delete/unset configuration entries:

$ git config --unset my.own.config

List the value

$ git config my.own.config 
主站蜘蛛池模板: 浙江省| 鸡西市| 平远县| 利津县| 通山县| 平凉市| 辽源市| 长兴县| 文成县| 沁水县| 福清市| 始兴县| 怀集县| 莱州市| 深泽县| 太原市| 高密市| 繁昌县| 集贤县| 东台市| 武邑县| 大英县| 利辛县| 嘉定区| 城固县| 沂水县| 花莲县| 龙陵县| 柘城县| 河西区| 剑阁县| 黄骅市| 绥棱县| 汉源县| 宁城县| 岳西县| 武隆县| 中超| 临清市| 阳朔县| 图木舒克市|