在 Xcode 中安装的 git 中禁用 osxkeychain 凭证助手

问题描述 投票:0回答:2

我需要禁用 OS X 的 git 凭证助手:

git-credential-osxkeychain

我正在使用 git,由 OS X Mountain Lion 10.8.3 中的 Xcode Command Line Utilities 4.6.2 安装。

在此安装中,

git pull
git push
的默认行为是为了记住密码,从而使用户无需再次输入密码。

虽然方便,但在我的情况下这是一个“安全风险”。我需要禁用凭据助手,以便每个远程 pullpush

fetch
需要
密码。

Xcode

安装的git似乎没有使用git config来设置此功能。这是我的设置:



# git --version

=>


git version 1.7.12.4 (Apple Git-37)


# git config --global --list

=>


user.name=User Name user.email=user@home color.diff=auto color.status=auto color.branch=auto color.interactive=auto color.ui=auto alias.lol=log --pretty=oneline --abbrev-commit --graph --decorate alias.co=checkout alias.ci=commit alias.st=status alias.br=branch alias.hist=log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short alias.type=cat-file -t alias.dump=cat-file -p core.autocrlf=input core.safecrlf=true core.editor=/usr/bin/vim

# git config --local --list

=>


core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* remote.origin.url=https://[email protected]/YYYYYYYY/ZZZ.git branch.master.remote=origin branch.master.merge=refs/heads/master

# git config --system --list

=>


fatal: unable to read config file '/usr/etc/gitconfig': No such file or directory

[ 注意:我的安装没有系统配置文件。 ]

我在
Stack Overflow

Google 上进行了彻底的搜索,但找不到在此安装中禁用凭据助手的解决方案。 我怀疑 Xcode 层次结构中的某个位置有一个 .plist 或类似的配置文件,其中有一个要禁用的标志,但在

git

Xcode 文档中找不到任何提及它的信息。 一个快速而肮脏的解决方案是

chmod

Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-credential-osxkeychain
二进制文件,但这不是很优雅,并且可能会因 Xcode 的任何更新而中断。

有任何

Xcode

专家知道 Apple 将标志隐藏在哪里以关闭此 git 功能吗?

xcode macos git osx-mountain-lion keychain
2个回答
0
投票

进入 osx 钥匙串应用程序,
  1. 如果您使用 https,请查找服务器名称
  2. 通过单击它来更改其设置,然后在“访问控制”选项卡下标记“询问钥匙串密码”
  3. 如果需要,请从白名单应用程序列表中删除 git-credential-osxkeychain 应用程序。 (就我而言,此时我必须保存,返回设置并重新启用“询问钥匙串密码”,该功能再次被禁用。)
  4. 请注意,在 Linux 上,默认行为也是自动发送凭据。


0
投票

问:“你知道苹果在哪里隐藏了关闭这个 git 功能的标志吗?”
  • A:只需在您希望覆盖其默认值的范围内将
  • credential.helper
  • 设置为空,如下所示:
    git config --global credential.helper ''
    
    
    
  • 那么让我们来看看更多。 我也对同样的场景感到困惑 -
为什么在安装后进行任何配置之前将 git-credential-helper 配置为 osxkeychain(在 Xcode 安装之后)

如果是配置文件引起的,配置文件在哪里?

我的查找如下:

    在安装 Xcode 的同时安装 git 后,将 credential.helper 配置为 osxkeychain,如下所示:
  1. $git config credential.helper osxkeychain

  2. 我检查了哪个配置文件已配置,但
  3. --system

    /

    --globle
    /
    --local
    配置为空(或没有文件)。
    
    

  4. 我认为这个功能是在编译期间修复的,而不是基于配置文件。但我对此一无所知。
  5. 直到我发现 Git 有一个“核心”配置文件,但 git-documents 并未透露该文件。请阅读这篇文章
  6. ChrisTollefson/git-install-config.md

    摘录如下。

      git config --list --showorigin
    1. 提供配置详细信息和配置文件的位置。
      Git 跟随 Xcode 有一个位于 
    2. /Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig
    3. 的“核心”配置文件,它只有两个配置行:
      credential.helper = osxkeychain
      int.defaultBranch = main
      无法使用 
    4. git config
    5. 命令编辑“核心”配置。但“核心”配置的优先级最低。因此,我们可以使用
      system
      global
      local
      配置来覆盖内容。
      
      
© www.soinside.com 2019 - 2024. All rights reserved.