多语言展示
当前在线:921今日阅读:27今日分享:41

Git生成sshkey并保存到码云

Git是我们熟悉的版本控制工具,码云(gitee)是基于Git的代码托管和研发协作平台,我们需要在本地生成sshkey,然后再拷贝到码云上,这样就可以实现本地代码提交到远程的码云仓库了。
工具/原料
1

Git 2.18.0

2

码云

方法/步骤
1

git仓库之间的代码传输协议主要使用ssh协议,需要使用ssh-keygen上传公钥,使用非对称加密传输。我们先来说一下如何生成sshkey。我们在下文中介绍过Git设置用户名和邮箱,使用git config --list查看如下:

2

接下来生成sshkey,使用命令:ssh-keygen -t rsa -C "$your_email"  这里使用你上面设置的邮箱在终端中敲上面的命令,会生成一对私钥和公钥,分别存在 ~/.ssh/id_rsa和~/.ssh/id_rsa.pub中。使用下面命令查看公钥字符串:cat ~/.ssh/id_rsa.pub我们可以使用cd ~/.ssh进入到公钥在的目录,然后使用ls命令查看这个目录下有哪些内容。

3

我们使用 cat ~/.ssh/id_rsa.pub命令查看公钥的内容,然后将公钥复制出来,准备拷贝到码云上。

4

如果没有码云的需要先去申请一个码云账号,点击码云页面右侧的个人头像,然后选择设置,找到SSH公钥,然后在右侧拷贝上面的公钥即可。

5

初始上传代码,新建一个项目文件夹,如下图所示,然后进入到这个文件夹。打开git的命令行工具Git Bash,执行如下命令:1. 初始化git仓库:git init2. 拷贝或编写代码到工程目录下;3. 添加文件到仓库 git add .4. 提交代码到本地仓库:git commit -m 'init commit'

6

链接到码云,需要在码云上创建一个仓库,仓库创建好后在本地使用命令: git remote add origin git@gitee.com:xxx/xxx.git, 后面跟的地址,在gitee的项目,选择“克隆/下载”--》“SSH”-->"复制“即可。最后,push代码到服务器,使用命令: git push origin master

7

但是push的过程中报错了,我们使用 git pull git@gitee.com:xxx/xxx.git 先拉取远程的项目,git branch --set-upstream-to=origin/master master 将本地的master分支和远程的关联起来再推送。 但是按照提示依旧会报fatal: refusing to merge unrelated histories(拒绝合并不相关的历史)的错误,这是因为本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆就不会有这个错误了。我们可以使用下面的命令解决:git pull origin master --allow-unrelated-histories以上是将远程仓库的文件拉取到本地仓库了。 我本地的README文件冲突了,解决完冲突后,先 add,再commit,最后push提交。 紧接着将本地仓库的提交推送到远程github仓库上,使用的命令是:

8

经过以上步骤,本地代码就成功提交到远程的gitee(码云)仓库了,如下图所示。

注意事项

还是建议先创建远程仓库,然后通过clone的方式拉取远程仓库,最后提交。

推荐信息