Answers:
(于2019年3月29日更新为使用https而不是ssh,因此您无需使用ssh密钥)
对于BitBucket而言,您似乎必须首先在线创建存储库。按照Atlassian的说明,只需创建一个新的BitBucket存储库,将存储库URL复制到剪贴板,然后将该存储库作为新的远程添加到本地存储库(下面的完整步骤):
获取回购网址
git clone <repository url>
使用CLI添加远程
cd /path/to/my/repo
git remote add origin https://bitbucket.org/<username>/<reponame>.git
git push -u origin --all
使用SourceTree添加远程
https://bitbucket.org/<username>/<reponame>.git
)(如果您使用的是ssh url而不是https url,则此方法是类似的ssh://git@bitbucket.org/<username>/<reponame>.git
。我建议仅使用https)
BitBucket非常适合私人回购,但是您需要设置一个ssh密钥以授权您的计算机可以使用您的BitBucket帐户。幸运的是,Sourcetree使它相对简单:
在SourceTree中创建一个密钥:
Tools
> Options
中,确保已SSH Client:
设置为PuTTY/Plink
下General
标签Tools
>Create or Import SSH Keys
Generate
并四处移动鼠标,以使密钥生成器具有随机性您应该获得类似下面的屏幕快照中所示的内容。将公共密钥(以蓝色突出显示)复制到剪贴板
Save private Key
和Save public key
将键保存到您选择的任意位置(例如分别为<Home Dir>/putty/ssk-key.ppk
和<Home Dir>/putty/ssh-key.pub
),然后继续进行下一部分在BitBucket中注册密钥
Settings
SSH Keys
左侧栏中的标签Add SSH Key
,为其命名,然后粘贴在上一节的步骤4中复制的公钥。而已!现在,您应该能够将您的BitBucket私有存储库推入/拉出。您的密钥也不仅仅适用于Git,许多服务都使用ssh密钥来识别用户,而最好的部分是您只需要一个。如果您丢失了密钥(例如,在更换计算机时),只需按照以下步骤创建并注册一个新密钥即可。
旁注:使用CLI创建SSH密钥
Clone
对话框中,将右上角的下拉菜单从SSH切换为HTTPS并获取URL:https://bitbucket.org/<reponame>.git
实际上,有一个更简单的解决方案(仅在Mac版本上)。仅需四个步骤:
如该视频所示,通常首先要在线创建存储库。
该SourceTree发行说明对SourceTree 1.5+做提及:
支持在Bitbucket中的团队/组织帐户下创建新的存储库。
因此,尽管没有“发布”功能,但是您可以从SourceTree创建在线仓库。
博客文章“ 适用于Windows 1.2的SourceTree在这里 ”(2013年9月)还提到:
现在,您可以在SourceTree中配置Bitbucket,Stash和GitHub帐户,并立即查看这些服务上的所有存储库。轻松克隆它们,在Web上打开项目,甚至无需离开SourceTree就可以在远程服务上创建新的存储库。
您可以在“视图”>“显示托管存储库”下的菜单中找到它,也可以使用书签面板右下角的“新建”按钮。
我用了它,对我来说效果很好。如果您的目录是
“ repo”,您的项目为“ hello”,将项目复制到此处
cd /path/to/my/repo
初始化目录
git init
进行项目
git add hello
提交项目
git commit
使用您在Bitbucket中使用的电子邮件和用户名添加配置
git config --global user.email
git config --global user.name
在项目中添加评论
git commit -m 'comment'
立即推动项目
git push origin master
检出主人
git checkout master
Bitbucket支持REST API,可用于以编程方式创建Bitbucket存储库。
可在此处获得文档和cURL示例:https : //confluence.atlassian.com/bitbucket/repository-resource-423626331.html#repositoryResource-POSTanewrepository
$ curl -X POST -v -u username:password -H "Content-Type: application/json" \
https://api.bitbucket.org/2.0/repositories/teamsinspace/new-repository4 \
-d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'
在Windows下,可以从Git Bash shell获得curl。
使用此方法,您可以轻松创建一个脚本,以将许多存储库从本地git服务器导入到Bitbucket。
如果正确维护提交和分支,则GIT可以很好地用于版本控制和团队项目。
步骤1:按照上述答案所述,使用cli克隆本地仓库
$ cd [path_to_repo]
$ git远程添加源ssh://git@bitbucket.org//.git
$ git push -u origin --all
第2步:您可以按照上述任何一个步骤来推/拉您的作品。简单的方法是使用git gui。它提供了图形界面,因此可以轻松地暂存(添加)/取消暂存,提交/取消提交和推入/拉出。初学者可以轻松理解git的过程。
$ git gui
(或)
步骤2:如上所述。Cli代码将完成工作。
$ git status
$ git add [file_name]
$ git commit _m“ [提交消息”]“
$ git push原始master / branch_name
作为Joe答案的更新,您可以使用API编写存储库的创建脚本,只有我需要的API调用有所不同。这可能是因为我们使用的是Bitbucket服务器,而不是Bitbucket云。
为了在我们服务器上的项目中创建新的仓库,我使用了:
curl -X POST -v -u USER:PASSWORD -H "Content-Type: application/json" \
http://SERVER/rest/api/1.0/projects/PROJECTNAME/repos/ \
-d '{"scmid":"git", "name":"REPONAME"}'
其中USER
,PASSWORD
,SERVER
,PROJECTNAME
和REPONAME
分别当然期望/需要的值。
该调用记录在API参考中。
/rest/api/1.0/projects/{projectKey}/repos
创建一个新的存储库。需要在其中创建此存储库的现有项目。唯一将使用的参数是name和scmId。
经过身份验证的用户必须对上下文项目具有PROJECT_ADMIN权限才能调用此资源。
(至少是Linux / WSL)从bitbucket.org的浏览器中,创建一个与本地存储库同名的空存储库,并按照bitbucket提出的导入本地存储库的说明进行操作(输入两个命令)。
Paste the BitBucket repository url (git@bitbucket.org/<username>/<reponame>.git)
将强制您添加ssh密钥。如果您还没有现有的,那会很痛苦。