鉴于我的电子邮件和用户名包含在〜/ .gitconfig中:
$cat ~/.gitconfig
[user]
name = MyFirst MyLast
email = myemail@gmail.com
并且git config -l
"看到"他们:
$git config -l
user.name=MyFirst MyLast
user.email=myemail@gmail.com
为什么git push
不能看到它们?
$git push origin master
Username for 'https://github.com':
以下是更多信息:
状态:
git status
On branch master
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
Untracked files:
(use "git add <file>..." to include in what will be committed)
遥控器:
git remote -v
origin https://github.com/<owner>/<repo> (fetch)
origin https://github.com/<owner>/<repo> (push)
答案 0 :(得分:3)
这是两个截然不同的数据部分
配置中的用户名适用于设置提交作者的内容。
当您推送到遥控器时提示您输入用户名时,这是不同的。这些是身份验证凭据。
Git不会假设配置的用户名与身份验证凭据用户名相同。
这是一件好事。例如,一个非常真实的例子:
我的在Git中配置的用户名:Thomas Stringer
我的 GitHub用户名:tstringer
如果这是假设的话,那我必须覆盖或重新配置会非常烦人。
答案 1 :(得分:1)
这更多是@Thomas Stringer对答案的评论/补充(将被接受):
处理这个的方法是我们ssh(与〜/ .ssh / config一起使用)。
git remote set-url origin ssh://git@github.com/<owner>/<repo>