Bitbucket在PyCharm上提供Git服务(SSH Key方式)

让我们一步一步按顺序来操作一番。

Bitbucket创建Project, Repository

  • 项目与仓库的关系:project > repository,若删除含有repository的project会提示:

    You cannot delete this project because it still contains repositories. To delete the project you must first move or delete any repositories.

  • 可以创建多个Repository放于同一个Project下。

创建Bitbucket Project

创建一个项目 — Bitbucket

  • Workspace: 这里显示为“账号名字”,其实是“用户名”[1]

  • Name: 项目名字

  • Key: 有什么用呢?别急,马上有发现使用这个Key[1:1]。我理解应该是项目表的主键Key值,唯一标识项目的字段。

    • 官方提示:例如 AT (用于一个名为 Atlassian 的项目)。
    • 系统会自动取项目名的头3~4个字母。
    • 不允许重复。否则提示:Project with this Owner and Key already exists.
  • Description: 不建议空着,当然以后应该是允许再编辑的。比如填写:“使用PyCharm连接Bitbucket。”

  • 隐私: Private project,直接上官方解释

    Private projects are only visible to your workspace and anyone who has direct access to a repository in the project.

  • 项目标志: 可以选择上传一个头像图片

项目创建后,由项目设置里看到的样子。
项目创建后,由项目设置里看到的样子。

创建Bitbucket Repository,并关联Project

现在你已经有了一个项目,让我们加些仓库进来。

创建一个仓库 — Bitbucket

  • Workspace: 这里仍然显示为“账号名字”。其实是“用户名”吗?我认为是的。

  • 项目: 选择上面刚刚创建的那个项目名。

  • 仓库名: 按前辈们的建议与项目名一致。至于为什么,是否有必要,或有什么好处,慢慢体会。

  • 访问级别: 同创建项目。

  • 包含一个 README 文件?: 随意。我选择"Yes, with a template"

  • Default branch name: e.g., 'main',我选择空着。

  • Include .gitignore?: No,PyCharm创建项目的时候也有这个,就算没有后期需要手工创建也行。

  • 高级设置:

    • 描述:按需维护。
    • 复刻(Forking): Allow forks / Allow only private forks / No forks 按需选择。
    • 语言: 选择您的项目主语言。

本地新建Project文件夹

比如新建文件夹E:\pyc_study,该文件夹作为本地的项目文件夹、工作区(Working Directory)。
事实证明此步画蛇添足。

SSH Key配置

本地

此时尚无工作区(Working Directory)文件夹,所以在日后的工作区文件夹的上级目录中鼠标右键Git Bash Here打开终端。

提示:SSH Key的操作与Git Bash打开位置无关,clone与此位置相关。
参考git学习4-远程仓库

MINGW64 /e
$ ssh-keygen -t rsa -C 'caxxss@axxun.com'
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/21003134.HAIER/.ssh/id_rsa):
Created directory '/c/Users/21xxxxx4.HAxxR/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/21003134.HAIER/.ssh/id_rsa
Your public key has been saved in /c/Users/21003134.HAIER/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:9/wUCFgeFgL2/OMeKOQeL5lDiPtLIL8beBrHudqb/xU carys@aliyun.com
The key's randomart image is:
+---[RSA 3072]----+
|      o.. =.     |
|     . o * .     |
|        + o      |
|         . . .   |
|. .. .. E + . .  |
| =.o.o.  = +   . |
|o B...+oo o o .  |
| *.* .== . . o   |
|o.B=+ooo. .   .  |
+----[SHA256]-----+
MINGW64 /e
$ ls ~/.ssh/
id_rsa  id_rsa.pub
MINGW64 /e
$ cat ~/.ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
MINGW64 /e
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC9LJrMXXfxY+5aupIXr78R0h5dN/GoVx5KkVIO4necN9yOLyN0H963Tj3jzogTdxJM1E1upPFBuI3JKcd+ukvF1aIRU4Y536C79g2MZCZSGSKOFIS2upwibjnwJlzH44zXZUXFSC9XCLutQUt1CLYVF34Vj86LsXhQH8hFnYvVETiiLhpdY81dPxqwzi8DLR9DRZHqO8wlS8cqLJPpVWEoLDlnT/J3kwaZfgrR6iIyqqr76yceH6xxec6Rel9jMWyXEHxXK1+zXkGzY1C2phqSj3E3RlCuVAOrEq5HMSXDRI/Bd7aWkVFXGT0fhiP2MTLCflNXzgY5GNMsQc5buV/T1Q5785VEkfK+0UX2Bgwa3bJYlM/Atd+ARQ/Fzc99u/JgB4+q8I3AEzsRQ8WPpT0FkrBntfKiBWCuUAxC3EUX/ByB8DtvFiqKFmqE= carys@aliyun.com
MINGW64 /e
$

Bitbucket.org添加公钥

clone repository至本地

clone repository至本地,作为本地工作区(同时也是项目文件夹)。

参考:git学习5-远程仓库

bitbucket.org中打开您刚刚创建的Repository,点击clone(克隆)获取ssh的地址,类似:git clone git@bitbucket.org:<用户名>/<仓库名>.git

Git Bash中,在工作区上级文件夹中操作:

MINGW64 /e
$ git clone git@bitbucket.org:caxxxxxxd/pyc_study.git
Cloning into 'pyc_study'...
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

MINGW64 /e
$ ll -a pyc_study/
total 9
drwxr-xr-x 1 21003134 1049089   0  4月 17 14:06 ./
drwxr-xr-x 1 21003134 1049089   0  4月 17 12:48 ../
drwxr-xr-x 1 21003134 1049089   0  4月 17 14:06 .git/
-rw-r--r-- 1 21003134 1049089 593  4月 17 14:06 README.md

MINGW64 /e
$ cat pyc_study/README.md
# README #

This README would normally document whatever steps are necessary to get your application up and running.

### What is this repository for? ###

* Quick summary
* Version
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)

...
* Repo owner or admin
* Other community or team contact
MINGW64 /e
$

克隆后,终于有了本地的工作区(Working Directory)、版本库(.git)。

PyCharm Project创建

在本地工作区创建PyCharm项目,打开PyCharm,菜单 【文件】->【新建项目】。选择工作区文件夹作为项目位置。

PyCharm创建项目
PyCharm创建项目

【从现有的源创建】
从现有的源创建
从现有的源创建

PyCharm项目中可见由Bitbucket初始化的README.md文件。

测试

  • PyCharm中新建main.py编写代码、执行。后commit、push。Bitbucket.org刷新可见。新增的main.py及其他项目文件。

  • Bitbucket中更新READMD.md并提交,由PyCharm更新项目进行获取。

PyCharm上安装Bitbucket Linky插件(是否需要?)

Plugin: Bitbucket Linky
Plugin: Bitbucket Linky

ok,重新打开settings-Plugins查看是否安装成功。


  1. 创建项目后紧接着创建仓库的时候,从地址栏里https://bitbucket.org/repo/create?workspace=carysunqd&project=PYCS,发现workspace其实用的不是“账号名字”,而是“用户名”,只是显示为“账号名字”而已。project实际也不是用project name,而是用Key来标识的。 ↩︎ ↩︎

posted on 2021-04-17 16:09  carysun  阅读(1766)  评论(0编辑  收藏  举报