如何在终端切换 git 用户?

如何在终端切换 git 用户?

我正在尝试从命令行将项目推送到远程存储库。

在我的本地目录中,我点击:

$ git push

并得到以下错误:

远程:对用户名 1/repo.git 的权限被拒绝给用户名 2。
致命:无法访问'https://github.com/username1/repo.git/':
请求的 URL 返回错误:403

我的 github 帐户用户名在哪里username1,托管我想要推送到的存储库,这username2是我以前在这台机器上使用过的旧帐户。

我在 Macbook Air 上使用 OS X Yosemite (v10.10.5)。我更喜欢使用https代替远程控制

我该如何更新username1才能成功推送到我的遥控器?

编辑:要清楚,我不是在谈论简单地编辑对象config user,例如,

$ git config --global user.name "Billy Everyteen"
$ git config --global user.email "[email protected]"

它们与身份验证无关。我的问题涉及用户认证需要写入我的远程存储库。

答案1

除了使用以下命令从终端更改用户名和电子邮件外git config

$ git config --global user.name "Bob"
$ git config --global user.email "[email protected]"

您需要从 Keychain 中删除授权信息。这也是我一直困扰的问题,直到我发现我的 Keychain 中也有证书。

打开钥匙串访问,点击所有项目并搜索git。您将获得一些如下项目:

截屏

删除它们。现在尝试推送 repo,git 会要求您为用户输入密码,然后您就可以开始了。

答案2

对于 CLI 用户,只需使用以下命令: git config credential.username 'Billy Everytee'

答案3

列出你的 git 配置。

git config --list

更改全局用户名和电子邮件

git config --global user.name "Nanhe Kumar"
git config --global user.email "[email protected]"

更改当前 repo 的用户名和电子邮件

git config  user.name "Nanhe Kumar"
git config  user.email "[email protected]"

如果您使用 bit bucket,请更改您的 repo url。

nano .git/config

这个文件将会是这样的。

[core]
        repositoryformatversion = 0
        fileMode = false
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[remote "origin"]
        url = https://[email protected]/nanhekumar/myproject.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master`

    [user]
            name = Nanhe Kumar
            email = [email protected]

答案4

其他合理的选择是,如果您只想在一个项目上使用“新用户”,则可以通过仅为您正在工作的项目目录进行配置来实现。例如:

 git config --local user.name "Mike"
 git config --local user.email "[email protected]"

请注意,我使用的是--local,而不是--global。

相关内容