我正在为我的项目使用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)
我想,我想要的确想要。但是当我做推动时,我需要填写我的用户名。为什么?如果我直接推送到网址,如果填写它完美地工作:
git push https://WouterJ@github.com/WouterJ/project.git master
工作,但
git push github master
无效
我还使用git config
设置了不同的推送网址:
git config remote.github.pushurl https://WouterJ@github.com/WouterJ/project.git
如果我从配置中获得推动它看起来是正确的:
$ git config remote.github.pushurl
https://WouterJ@github.com/WouterJ/project.git
同时查看.git / config文件,看起来一切都是正确的。
我在这里遗漏了什么吗?这是一个错误吗?我用的是Git1.7.4,那是错的吗?
答案 0 :(得分:2)
我已经找到了如何解决这个问题,所以要回答我自己的问题:
诀窍是上传到Git1.7.8(或更高版本)。现在,您使用相同的设置并且没有_netrc
文件:
$ git push github master
Password for 'https://WouterJ@github.com/':
$ git fetch github
fetching....
因此看起来该错误已在Git1.7.8(Release Notes)
中修复答案 1 :(得分:1)
为了推送到https GitHub地址,唯一缺少的部分是您的~/.netrc
文件(或Windows上的%HOME%/_netrc
文件),其中包含您的GitHub凭据。
请参阅“Git - How to use .netrc
file on windows to save user and password”。
machine github.com
login <login_github>
password <password_github>
请参阅“Syncing with github”中的其他设置。