标签: git-config

从Git存储库中删除用户名

当我尝试在Tower中设置我的用户名时,我收到此警告:

警告:user.name有多个值

我已经检查了一个终端窗口,发现我有三个用户名:

macmini:HiBye shannoga$ git config --get-all user.name
Shani
shani
shani
Run Code Online (Sandbox Code Playgroud)

如何删除两个用户名?

git git-config

21
推荐指数
4
解决办法
4万
查看次数

Git颜色:如何在"git branch -vv"中为上游分支设置颜色?

我能够通过我的.gitconfig中的以下配置看到我的本地和远程分支的颜色不同.

[color "branch"]
    current = bold cyan
    local = normal
    remote = bold red
Run Code Online (Sandbox Code Playgroud)

git branch -vv然而,存在具有不同的颜色,其是我的屏幕上显示的不可读的附加上游分支.

如何配置这种"上游"颜色?(电影双关语无意:)

A git help config列出了许多分支类型的颜色参数,但我无法找到这个上游分支的颜色参数.

git colors git-config

21
推荐指数
1
解决办法
3581
查看次数

我如何找出Git认为顶级工作目录是什么?

可能重复:
有没有办法在一个命令中进入git根目录?

有时候,我对git认为我在Git工作目录中感到困惑,但对我来说,顶级工作目录(包含.git/)是什么并不明显.(可能这个回购是由一个错误造成的.)

那么,如果我在子目录中的某个地方,如何查找顶级Git repo目录?如何git打印它认为当前顶级工作目录的内容?

git directory find git-config git-commands

19
推荐指数
1
解决办法
1万
查看次数

Git排除了分支的文件

我想忽略分支中的某些文件,而不必依赖在.gitignore与其他分支合并期间将被覆盖的跟踪文件.

我一直密切关注Stack Overflow的回答以及链接的博客帖子,但我的回购似乎并没有认识到excludesfile我的指定.git/config.Git文档(git-config,gitignore)似乎没有显示如何指定和寻址特定分支的排除文件.

.git/config看起来像这样:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
        excludesfile = +/info/exclude

[branch "myspecialbranch"]
        excludesfile = +/info/exclude_specialbranch
Run Code Online (Sandbox Code Playgroud)

我的.git/info/exclude文件看起来像这样(默认情况下,我没有触摸它):

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude …
Run Code Online (Sandbox Code Playgroud)

git gitignore git-config

19
推荐指数
1
解决办法
9307
查看次数

可以有条件地设置gitconfig选项吗?

通过Github我在几台不同的计算机和服务器上使用相同的"点文件".在我直接控制的Mac和Linux机器上,我安装了Sublime Text 2并设置为我的git merge和commit编辑器.但是,在远程(即不在我的直接控制下)服务器上,我会选择使用vim.

我宁愿不.gitconfig为这些远程服务器创建和维护第二个.有没有办法做这样的事情:

[core]
    if [[ $IS_REMOTE -eq 1 ]]; then
        editor = "vim"
    else
        editor = "subl -n -w"
    fi
Run Code Online (Sandbox Code Playgroud)

我以某种方式根据主机名设置$ IS_REMOTE?

git git-config

18
推荐指数
4
解决办法
3328
查看次数

如何使Git默认"添加--all"?

我刚碰到这条消息:

$ git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'README.md' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
  ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to …
Run Code Online (Sandbox Code Playgroud)

git alias git-config

18
推荐指数
1
解决办法
3573
查看次数

如何配置"git pull --ff-only"和"git merge --no-ff"

对我来说,典型的git工作流是克隆远程存储库并使用git pull来使其保持最新.我拉的时候不想要合并提交,所以我使用--ff-only选项.

我还为特色工作设立了本地分支机构.我想保留分支历史记录,所以当我将本地分支合并回我的本地克隆时,我使用--no-ff选项.

如何配置git默认使用这些选项?目前我的.gitconfig看起来像这样:

[merge]
  ff = false
[pull]
  ff = only
Run Code Online (Sandbox Code Playgroud)

但是,git pull(实际上是git fetch和git merge)似乎正在拾取合并选项,因此创建了合并.

git git-pull git-merge git-config

18
推荐指数
1
解决办法
7255
查看次数

在Git中,可以从另一个别名引用别名

假设我的.gitconfig中有一个这样的别名:

alias.showlog = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' 
Run Code Online (Sandbox Code Playgroud)

现在我想要一个类似的别名:

alias.sl = showlog --abbrev-commit
Run Code Online (Sandbox Code Playgroud)

当我尝试命令时,git sl它说他不知道showlog命令.

我知道仍然可以像其他别名一样复制相同的命令,但我只是想知道是否有可能在别名中引用另一个别名?

git alias git-config

17
推荐指数
2
解决办法
1847
查看次数

如何找出使用哪个Git配置文件以及如何覆盖设置?

我有两个相关的问题:

  1. 如何确定我的Git bash客户端正在使用哪个配置文件?
  2. 我可以覆盖正在使用的配置文件中的设置吗?

我知道有一个系统,全局和本地(aka项目).gitconfig文件.而且,根据Git网站,这些"级别"(系统,全局,本地)中的每一个都会覆盖前一级别的值,因此./git/config(本地)中的值会胜过其中的值/etc/gitconfig.

换句话说,我们正在处理层次结构,本地配置文件中的任何声明将优先于全局或系统配置文件中的一个声明.

但是,如果设置存在中说,全球文件(比如代理),并没有出现在本地文件确实是设置,然后使用代理从全局设置?这意味着在应用层次结构规则之前,Git可以处理所有配置文件中的所有设置.

然后,在上面的例子中,如果代理从全局设置被连同我的本地配置文件中的其他设置使用我怎么可以重写呢?

git git-config

17
推荐指数
2
解决办法
4892
查看次数

GIT错误: - 预期的提交者电子邮件''但找到'karan@xyz.com'

Git push被拒绝,并显示以下错误消息:

expected committer email '' but found 'karan@xyz.com'
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了:

  1. 在.gitconfig文件中设置使用属性.
  2. 尝试git push制作相同存储库的不同克隆.
  3. 格式化后将所有整个系统设置在一起.

但没有一个有效.我还能做些什么来解决它.

git commit git-config git-commit

16
推荐指数
3
解决办法
3万
查看次数