千寻简Git连接Gitee

介绍

大家好,这里是千寻简笔记,我是作者星辰,笔记内容整理并发布,内容有误请指出,笔记源码已开源,前往Gitee搜索《chihiro-notes》感谢您的观看!如果对你有帮助,请帮忙点一下赞叭~

作者各大平台直链: GitHub | Gitee

目录


文章目录

  • 千寻简Git连接Gitee
  • 介绍
  • 目录
  • 正文
  • 第一步:打开:https://gitee.com/
  • 第二步:添加个人公钥
  • 第三步:生成/添加SSH公钥
  • 第四步:把公钥复制到Gitee
  • 第五步:本地操作
  • 第六步:拉取和更新
  • 拉取代码与线下的git代码合并
  • 合并完后将代码push到git上
  • 第七步:常用的命令
  • 查看远程仓库信息
  • 初始化仓库
  • 查看分支名称
  • 同步一下仓库
  • 拉取代码与线下的git代码合并
  • 合并完后将代码push到git上
  • 扩展:部署公钥


正文

第一步:打开:https://gitee.com/

千寻简Git连接Gitee_远程仓库

第二步:添加个人公钥

千寻简Git连接Gitee_git_02

第三步:生成/添加SSH公钥

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"  
# Generating public/private ed25519 key pair...

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。

现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

按照提示完成三次回车,即可生成 ssh key。

千寻简Git连接Gitee_git_03

通过查看 ~/.ssh/id_ed25519.pub 文件内容,获取到你的 public key。Windows在C:\Users\当前用户\.ssh\ 文件夹里。

cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

千寻简Git连接Gitee_远程仓库_04

千寻简Git连接Gitee_ssh_05

第四步:把公钥复制到Gitee

复制后点击确定,进行账号安全验证即可

注意:使用SSH公钥可以让你在你的电脑和 Gitee 通讯的时候使用安全连接(Git的Remote要使用SSH地址)

千寻简Git连接Gitee_初始化_06

第五步:本地操作

git工具使用以下命令,看是否有没有远程 仓库源

git remote      //--git查看远程仓库信息

千寻简Git连接Gitee_服务器_07

出现以上错误就是改文件夹没有 git init 他不是一个仓库文件夹

git init		//--初始化本地仓库

千寻简Git连接Gitee_ssh_08

这个时候本地的文件夹就多了一个.git文件

千寻简Git连接Gitee_git_09

这个时候我们在来输入测试一下

git remote      //--git查看远程仓库信息

没有任何显示就是没有仓库信息

千寻简Git连接Gitee_远程仓库_10

我们去复制一下仓库信息

千寻简Git连接Gitee_服务器_11

添加仓库信息:

git remote add origin git@gitee.com:opxc/chihiro-notes.git

千寻简Git连接Gitee_ssh_12

这样我们就已经连接到了,可以看看,输入以下命令

git remote -v

千寻简Git连接Gitee_服务器_13

第六步:拉取和更新

拉取代码与线下的git代码合并
$ git pull origin main
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 30 (delta 0), reused 0 (delta 0), pack-reused 27
Unpacking objects: 100% (30/30), 11.08 MiB | 2.20 MiB/s, done.
From gitee.com:opxc/chihiro-notes
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main

千寻简Git连接Gitee_git_14

合并完后将代码push到git上

千寻简Git连接Gitee_初始化_15

这个时候,我们会发现这里报了一个错误错误:src refspec main 不匹配任何

错误产生的原因:Github 工程默认名为了 main

由于受到"Black Lives Matter"运动的影响,GitHub 从今年 10 月 1 日起,在该平台上创建的所有新的源代码仓库将默认被命名为 “main”,而不是原先的"master"。

千寻简Git连接Gitee_ssh_16

push 报错

千寻简Git连接Gitee_远程仓库_17

解决方案1:

官方给了提示 git branch -M main。但在执行时报错:

error: refname refs/heads/master not found
fatal: Branch rename failed

原因在于 你本地暂没发现 master 分支。

git branch -M main

是一个改名操作,所以本地要保证先有 master 分支。那就在本地先执行完基本的操作:初始化、add 、commit 之后,再 执行更名操作。

千寻简Git连接Gitee_服务器_18

这里就成功的把本地的master更改为main。

千寻简Git连接Gitee_git_19

更改完成后我们去push,成功提交到Gitee中。

$ git push -u origin main

Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 720.51 KiB | 17.15 MiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.3]
To gitee.com:opxc/chihiro-notes.git
   60f9aa1..e6f1544  main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

千寻简Git连接Gitee_ssh_20

第七步:常用的命令

参考文献:Git操作流程(非常详细)

查看远程仓库信息
#查看远程仓库信息
$ git remote
origin


$ git remote -v
origin  git@gitee.com:opxc/chihiro-notes.git (fetch)
origin  git@gitee.com:opxc/chihiro-notes.git (push)
初始化仓库
//初始化仓库
$ git init
Reinitialized existing Git repository in D:/GitSQL/gitee-chihiro-notes/.git/
查看分支名称
$ git branch
* main
同步一下仓库
git fetch
拉取代码与线下的git代码合并
git pull origin main
合并完后将代码push到git上
git push -u origin main

扩展:部署公钥

部署公钥允许以只读的方式访问仓库,主要用于仓库在生产服务器的部署上,免去HTTP方式每次操作都要输入密码和普通SSH方式担心不小心修改仓库代码的麻烦。

部署公钥配置后的机器,只支持clone与pull等只读操作。如果您想要对仓库进行写操作,请 添加个人公钥

复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。

千寻简Git连接Gitee_ssh_21

添加后,在终端(Terminal)中输入

ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。

千寻简Git连接Gitee_初始化_22

添加成功后,就可以使用SSH协议对仓库进行操作了。