3

我在我的项目中使用 GIT。现在我想将它与github集成,所以我创建了一个远程:

git remote add github https://WouterJ@github.com/WouterJ/project.git

但是现在我需要填写一个密码来获取,这是我不想要的。所以我决定使用不同的 url 来获取:

git remote set-url github http://github.com/WouterJ/project.git
git remote set-url --push github https://WouterJ@github.com/WouterJ/project.git

如果我跑步,git remote -v我会得到这个:

$ git remote -v
github  http://github.com/WouterJ/project.git (fetch)
github  https://WouterJ@github.com/WouterJ/project.git (push)
origin  http://github.com/WouterJ/project.git (fetch)
origin  http://github.com/WouterJ/project.git (push)

正是我想要的,我想。但是当我推送时,我需要填写我的用户名。为什么?如果我在填写后直接推送到 url,则效果很好:

git push https://WouterJ@github.com/WouterJ/project.git master

工作,但是

git push github master

不会工作


我还使用git config来设置不同的推送 url:

git config remote.github.pushurl https://WouterJ@github.com/WouterJ/project.git

如果我从配置中获取 pushurl,它看起来是正确的:

$ git config remote.github.pushurl
https://WouterJ@github.com/WouterJ/project.git

还要查看 .git/config 文件,看起来一切都是正确的。


我在这里错过了什么吗?它是一个错误吗?我用的是Git1.7.4,有错吗?

4

2 回答 2

2

我已经找到了如何解决这个问题,所以提出我自己的问题:

诀窍是上传到 Git1.7.8(或更高版本)。现在您可以使用相同的设置并且没有_netrc文件:

$ git push github master
Password for 'https://WouterJ@github.com/':

$ git fetch github
fetching....

所以看起来该错误已在 Git1.7.8 (发行说明)中修复

于 2012-05-06T19:57:04.570 回答
1

为了推送到 https GitHub 地址,唯一缺少的部分是您的~/.netrc文件(或%HOME%/_netrcWindows 上的文件),其中包含您的 GitHub 凭据。

请参阅“ Git - 如何.netrc在 Windows 上使用文件来保存用户和密码”。

machine github.com
login <login_github>
password <password_github>

请参阅“与 github 同步”中的其他设置。

于 2012-05-05T19:38:09.553 回答