使用自己的用户名/密码与git和bitbucket

时间:2013-03-01 20:54:13

标签: git bitbucket

我是一个三人小组;两个在本地工作,我正在服务器上工作。

我的同事设置了帐户,但给了我存储库的完全权限。

我在git中设置了用户名和电子邮件:

git config --global user.name "bozdoz"
git config --global user.email email@email.com

它们与我在bitbucket.org上的用户名和电子邮件相同。

但是,当我拉动或推送到存储库时,它会在提示符中指示其用户名:

Password for 'https://theirusername@bitbucket.org':

我尝试通过用我的用户名表示URL来获取密码提示:

git pull https://bozdoz@bitbucket.org/path/repo.git

它说是最新的;然后当我推动时,它说没有快进。

我读到我需要指定分支,但是当我还指定repo URL时,我不知道如何在push语句中执行此操作:

git push https://bozdoz@bitbucket.org/path/repo.git

如果我的同事在附近并且可以输入他的密码,我能够拉动和推动。但这也是他作为推动的作者,而不是我。

如何以自己的用户名拉动并推送到repo分支?

7 个答案:

答案 0 :(得分:69)

运行

git remote -v

并检查您的来源的网址是否在那里硬编码了您的同事的用户名。如果是这样,请用您自己的替换:

git remote set-url origin <url-with-your-username>

答案 1 :(得分:59)

我认为我应该分享我的解决方案,因为我无法在任何地方找到它,只能通过反复试验来解决。

我确实能够将存储库的所有权转移到a team on BitBucket

不要 添加BitBuckets建议的远程网址:

git remote add origin https://username@bitbucket.org/teamName/repo.git

相反 ,添加没有用户名的远程网址:

git remote add origin https://bitbucket.org/teamName/repo.git

这样,当您从拉出或推送到回购时,会提示您输入用户名,然后提示您输入密码:团队中的每个人都可以使用自己的凭据访问它。这种方法仅适用于BitBucket上的团队,即使您可以管理单一所有者回购的用户权限。

答案 2 :(得分:12)

提示:

Password for 'https://theirusername@bitbucket.org':

建议您使用https而不是ssh。 SSH网址以git @开头,例如:

git@bitbucket.org:beginninggit/alias.git

即使您单独工作,只使用您拥有的单个仓库,操作:

git push

会导致:

Password for 'https://theirusername@bitbucket.org':

如果远程来源以https开头。

使用以下方法检查遥控器:

git remote -v

遥控器取决于git clone。如果你想使用ssh url使用ssh克隆repo,例如:

git clone git@bitbucket.org:user/repo.git

我建议您从git pushgit pull开始使用私人仓库。

如果可行,你有两个由Lazy Badger建议的联系:

  • 提出请求
  • 团队合作

答案 3 :(得分:3)

嗯,这是BitBucket理念和工作流程的一部分:

  • 存储库可能只有一个用户:所有者
  • 对于普通帐户(最终用户),协作期望“fork-pull request”工作流程

即你不能(通常情况下)以自己的凭证进入外国回购。

您有两种可能的解决方案:

  1. “Classic”BB-way:fork repo(由存储库拥有),进行更改,向原始仓库发送拉取请求
  2. Create "Team",将用户帐户添加为团队成员,使团队所有者成为存储库 - 对于此“共享中央”存储库,每个团队成员都可以根据自己的凭据推送这种情况 - 检查thg存储库和TortoiseHg Team,此存储库的所有者,作为样本

答案 4 :(得分:2)

你确定你没有推过SSH吗?如果你有的话,可以在bitbucket中查看与你的SSH密钥相关的电子邮件。

答案 5 :(得分:2)

对于我自己的私人回购,我使用

  

git@bitbucket.org:用户名/ blog.git

替换

  

https://username@bitbucket.org/username/blog.git

答案 6 :(得分:0)

我不得不在这里合并一些好的答案!这对我有用:

git remote set-url origin 'https://bitbucket.org/teamName/repo.git'

最后,它总是会提示任何想要退出的人