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

  • Git Version Control Cookbook
  • Aske Olsson Rasmus Voss
  • 359字
  • 2021-12-08 12:33:50

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 
主站蜘蛛池模板: 修水县| 保定市| 托里县| 遂川县| 清水县| 阿拉善盟| 宣恩县| 平遥县| 胶南市| 田东县| 南木林县| 恩平市| 大邑县| 邓州市| 当涂县| 永济市| 丹江口市| 巍山| 资中县| 遂昌县| 台湾省| 宜昌市| 怀柔区| 香港| 宿州市| 鹿泉市| 丹棱县| 六枝特区| 许昌市| 张家界市| 湾仔区| 齐齐哈尔市| 德江县| 温宿县| 荃湾区| 萨迦县| 临泽县| 女性| 崇仁县| 宁化县| 婺源县|