Jenkins报告的未知选项git config --local

时间:2014-04-16 08:36:33

标签: git jenkins continuous-integration git-config

我在私人仓库中为GitHub上托管的C#项目设置CI。
Git安装在主CentOS机器上,MSBuild安装在从属窗口上。

我在GitHub上创建了帐户,并将其添加到我的私人仓库中 当我在Jenkins上设置源代码管理时,我已输入网址(https://github.com/.../repo.git)并使用新帐户输入凭据。

詹金斯报道:

Failed to connect to repository : Command "git config --local credential.helper store --file=/tmp/git2956041026506359040.credentials" returned status code 129:
stdout: 
stderr: error: unknown option `local'
usage: git config [options]

Config file location
    --global              use global config file
    --system              use system config file
    -f, --file <FILE>     use given config file

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 adds a new variable: name value
    --unset               removes a variable: name [value-regex]
    --unset-all           removes all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            opens an editor
    --get-color <slot>    find the color configured: [default]
    --get-colorbool <slot>
                          find the color setting: [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)

Other
    -z, --null            terminate values with NUL byte

如果我登录master并在根控制台上尝试相同的命令,我会收到相同的错误,--local不是git config的选项。

3 个答案:

答案 0 :(得分:14)

问题是Git已经过时了,CentOS附带的版本并不支持git config的--local选项。

将git更新到版本1.7.12解决了这个问题。

答案 1 :(得分:0)

现在(2017年),--local不仅git configconfig的有效选项(几年前),其错误信息也会更准确。

commit 3d7dd2dRamsay Jones (``)(2017年5月21日) commit 25cd291commit 588a538commit d819374Jeff King (peff)(2017年5月13日)。
Junio C Hamano -- gitster --于2017年5月29日commit 220c6a7合并)

  

--local:在git repo之外抱怨--local

     

git-config”选项指示.git/config读取或修改存储库级配置。如果你实际上不在存储库中,这没有任何意义。

     

较旧版本的Git会盲目地尝试读写   “.git”。
  阅读,这将导致安静   失败,因为没有配置要读(因此没有   匹配配置值)   写作通常会失败,因为“setup_git_env”不太可能存在   但是,因为b1ef400.git:避免盲目回归“git_pathdup()”,   2016-10-20,Git 2.13),我们在致电vonc@xxC:\Users\vonc\prog\xxx > git config --local -l fatal: BUG: setup_git_env called without repository 和。{   死于断言。

     

死亡是正确的事,但我们应该抓住   问题早,并提供更人性化的错误信息。

在:

vonc@xxC:\Users\vonc\prog\xxx
> git config --local -l
fatal: BUG: --local can only be used inside a git repository

之后(Git 2.14,2017年第3季度)

library(tidyverse)
theme_set(theme_classic())

conditional_smooth = function(data, xvar, yvar, group) {

  p = ggplot(data, aes_string(xvar, yvar, colour=group)) + 
    geom_point()

  min_group_length = split(data, data[, group]) %>% map_dbl(nrow) %>% min

  # Choose smoothing method based on minimum group length
  if(min_group_length >= 5) {
    p + geom_smooth(method=loess) 
  }
  else {
    p + geom_smooth(method=lm)
  }

}

答案 2 :(得分:0)

似乎jekins使用/usr/bin下的默认git。检查您的/usr/bin/git并确认它具有--local选项。