我使用VMware Fusion在Macbook Pro上运行Ubuntu 14.04虚拟机。我的git存储库也可以从OSX和Ubuntu(作为共享目录)访问,但是与BitBucket的git通信工作方式不同 - git pull
和git push
命令在Ubuntu中请求密码,但它们工作正常在OSX中没有密码。
配置文件:
/etc/gitconfig
文件~/.gitconfig
文件内容在两种情况下均相同.git/config
文件在物理上是相同的Ubuntu上的Git版本是1.9.1,OSX上的Git版本是1.9.5。
我应该在哪里找出造成这种差异的原因?我实际上更喜欢在OSX中输入密码,因为它是半私人机器。
答案 0 :(得分:2)
我应该在哪里找出造成这种差异的原因?
取决于使用的网址(git remote -v
的输出)
https :OSX会话可能有cached the password with the oskeychain helper 您需要cache credential helper in Ubuntu才能获得相同的结果。
ssh :git正在寻找~/.ssh
中的ssh密钥,可以在Mac OSX会话中正确设置,但在Ubuntu VM中是空的。
您需要在Ubuntu ~/.ssh
文件夹中使用相同的密钥,以避免ssh回退到用户名/密码身份验证。
答案 1 :(得分:1)
请使用SSH无需密码即可进行拉/推。
参考:https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html
使用HTTPS时,每次执行需要与Bitbucket连接的操作时,都要进行身份验证(提供用户名和密码)。谁想这样做?此页面向您展示如何使用安全shell(SSH)与Bitbucket服务器通信,并避免必须始终手动键入密码。
第1步:Gen ssh键,来自终端或Git Bash
ssh-keygen
第2步:确认默认路径.ssh / id_rsa 输入密码(推荐)或将其留空。 记住这个密码,因为你需要它来解锁 无论何时使用它都可以使用。
第3步:打开〜/ .ssh / id_rsa.pub 并复制&将内容粘贴到 你的服务器。
注意 id_rsa.pub 是您的公钥,可以共享, id_rsa 是您的私钥,应该保密。
第4步:在Git Bash类型中重新检查
ssh -p 29418 YOUR_NAME@YOUR_SERVER.com
检查结果。如果成功
****欢迎使用Gerrit Code Review ****
嗨,你已经成功连接了 SSH。
git clone SSH://YOUR_NAME@YOUR_SERVER.com:29418 / REPOSITORY_NAME.git
第5步:更改git的远程目录。输入Git Bash来替换你的链接。
git remote set-url origin ssh://YOUR_NAME@YOUR_SERVER.com:29418/REPOSITORY_NAME.git