使用密码拉/推的Git配置

使用密码拉/推的Git配置,git,bitbucket,Git,Bitbucket,我正在使用VMware Fusion在Macbook Pro上运行Ubuntu 14.04虚拟机。我的git存储库也可以从OSX和Ubuntu(作为共享目录)访问,但是git与BitBucket的通信工作方式不同,git pull和git push命令在Ubuntu中请求密码,但在OSX中不需要密码 配置文件: 在这两种情况下都不存在/etc/gitconfig文件 在这两种情况下,~/.gitconfig文件内容是相同的 .git/config文件在物理上是相同的 Ubuntu上的Git版

我正在使用VMware Fusion在Macbook Pro上运行Ubuntu 14.04虚拟机。我的git存储库也可以从OSX和Ubuntu(作为共享目录)访问,但是git与BitBucket的通信工作方式不同,
git pull
git push
命令在Ubuntu中请求密码,但在OSX中不需要密码

配置文件:

  • 在这两种情况下都不存在
    /etc/gitconfig
    文件
  • 在这两种情况下,
    ~/.gitconfig
    文件内容是相同的
  • .git/config
    文件在物理上是相同的
Ubuntu上的Git版本是1.9.1,OSX上的Git版本是1.9.5

我应该在哪里找到这种差异的原因?实际上我更喜欢在OSX中输入密码,因为它是一个半私有机器

我应该在哪里找到这种差异的原因

它取决于所使用的url(git remote-v的输出)

  • https:OSX会话可能有。
    你需要一个新的方法来达到同样的结果

  • ssh:git正在
    ~/.ssh
    中查找ssh密钥,该密钥可以在Mac OSX会话中正确设置,但在Ubuntu VM中为空。
    您需要在Ubuntu
    ~/.ssh
    文件夹中使用相同的密钥,以避免ssh退回到用户名/密码身份验证


请使用SSH在没有密码的情况下拉/推

参考:

使用HTTPS时,每次执行需要连接Bitbucket的操作时,都需要进行身份验证(提供用户名和密码)。谁想这么做?本页介绍如何使用secure shell(SSH)与Bitbucket服务器通信,并避免一直手动键入密码

步骤1:来自终端或Git Bash的Gen ssh密钥

ssh-keygen 
步骤2:确认默认路径。ssh/id\u rsa 输入密码短语(推荐)或留空。 请记住此密码短语,因为您需要它来解锁密码 无论何时使用它,都可以使用它

步骤3:打开~/.ssh/id\u rsa.pub并将内容复制粘贴到 你的服务器

注意id_rsa.pub是您的公钥,可以共享, 而id_rsa是您的私钥,应该保密

步骤4:在Git Bash类型中重新检查

ssh -p 29418 YOUR_NAME@YOUR_SERVER.com
检查结果。如果成功

****欢迎来到Gerrit Code Review****

您好,您已成功连接到 嘘

git克隆 ssh://YOUR_NAME@您的_SERVER.com:29418/REPOSITORY_NAME.git

步骤5:更改git的远程目录。键入gitbash以替换链接

git remote set-url origin ssh://YOUR_NAME@YOUR_SERVER.com:29418/REPOSITORY_NAME.git

My remote repo配置了
https:
,这两种情况下的配置相同,因为实际上只有一个
.git/config
文件。尽管如此,我还是同步了
.ssh
dirs以防万一。我将检查
oskeychain
帮助程序,但我实际上需要使用密码进行身份验证-谢谢@HEKTO如果MAc OSX会话没有要求输入密码,则表示所述密码是以Ubuntu会话无法访问的方式缓存的。@HEKTO如果您确实需要使用密码进行身份验证,则可以清除该缓存:()