【问题标题】:How do I make Git ask for a username and password every time I push?如何让 Git 每次推送时都要求输入用户名和密码?
【发布时间】:2014-11-02 08:43:09
【问题描述】:

在我工作的地方,很多人在同一个帐户上使用同一台计算机。我们现在使用 shell 代替 GUI 只是为了方便。

第一次提交时,它会询问他们的用户名和密码,但之后只使用他们的帐户进行所有提交。很抱歉我对shell不太了解,但这是我第一次使用它。我用来提交和同步的命令是:

git commit -a
git push origin [branch name here]

【问题讨论】:

    标签: windows git github credentials


    【解决方案1】:

    如果您使用 Windows 系统,Git 用户名和密码存储在控制面板中。您可以前往控制面板用户帐户Credential Manager:Generic Credentials 将其删除。

    【讨论】:

    • 你是我的上帝。我花了整整 4 个小时来寻找这个。我不得不部署,现在我被推迟了,但我会永远崇拜你。我卸载并重新安装了 git 30 次。你是神!!!
    • 我的钥匙串中有 git 凭据,这对于我的大多数客户项目都是相同的,但我必须在同一个站点中使用不同的帐户,即两个用户都只在 github 中,所以默认情况下需要我的工作钥匙串的凭据,我怎么能阻止它,我可以在我的其他项目中使用我的其他凭据
    【解决方案2】:

    似乎正在缓存用户凭据。

    转到您的项目,打开 .git/config 并删除这些行:

    [credential]
        helper = store
        # or helper=cache
    

    查看git-credential-store了解更多信息。

    编辑:OP 在 cmets 中提到这发生在 Windows 中,对此,另一个答案与从控制面板中删除凭据更相关。

    【讨论】:

    • 在哪里可以找到这个文件?我在我的项目中找不到它,我唯一能找到的相关内容是 .gitconfig。
    • @JoshuaJohnson 密码必须保存在~/.netrc~/.git-credentials 之一。并且这些设置必须存在于~/.gitconfig$PROJECT_DIR/.git/config
    • @JoshuaJohnson 你能解决这个问题吗?如果我的回答有帮助,不要忘记接受它:)
    • 我在 Win7 上,只能在 $PROJECT_DIR/.git/config 中找到它。没有为我解决问题,删除这些行后仍然没有提示。
    【解决方案3】:

    1.转到您的存储库文件夹(在 PC 上)。

    2.使用HTTPS协议而不是SSH,你会在克隆时得到它。

    git remote set-url origin https://.... 
    

    3.git credential-cache exit

    4.完成!

    将其恢复为每次都不询问密码:

    1.从您的设备复制 SSH 密钥 (~/.ssh/id_rsa.pub)。

    2.粘贴到Account --> SSH & GPG keys --> New SSH key.

    3.使用SSH协议而不是HTTPS,你会在克隆时得到它。

    git remote set-url origin git@:..//.... 
    

    【讨论】:

      猜你喜欢
      • 2021-07-02
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 2020-07-26
      相关资源
      最近更新 更多