问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Git拓展篇:Gitee代码托管平台操作及SSH通道配置详解

创作时间:
作者:
@小白创作中心

Git拓展篇:Gitee代码托管平台操作及SSH通道配置详解

引用
CSDN
1.
https://m.blog.csdn.net/hgz3315867391/article/details/146144722

本文是Git系列教程的第三篇,主要讲解如何使用Gitee代码托管平台以及SSH通道的配置。通过本文的学习,你将掌握如何在Gitee上创建和管理远程仓库、配置SSH密钥、进行标签操作以及忽略文件等实用技能。

一、概念原理

简单的理解,除了本地仓库以外的仓库,我们都称之为远程仓库。

作用:存储(备份)、共享、协同工作

二、常见的代码托管平台

本质上是一个别人搭建好的服务器,用于托管本地仓库相关的内容(文件、代码),常见的有:

  • GitHub
  • Gitee

拓展:可以使用Gitlab搭建自己的私服(私人服务器)

三、操作

基于gitee(码云)平台操作

  1. 注册账号

在官网使用手机号和邮箱都可以注册

  1. 在gitee中,创建远程仓库

  2. 创建本地仓库

# 创建本地仓库
$ mkdir git-test
$ git init
  1. 创建第一个版本提交
# 创建README.md
$ touch README.md
# 修改README.md
$ vim README.md
$ git add .
$ git commit -m '初始化版本'
  1. 添加远程仓库
# 添加远程仓库
$ git remote add origin https://gitee.com/addmdxwg/git-test.git
  1. 推送
#推送到远程仓库
$ git push -u origin "master"

注意:

  • 本地的内容修改后,必须及时推送到远程仓库中
  • 同时,在推送之前,我们一般先进行拉去操作

课堂练习

  1. 在gitee中,注册帐号
  2. 在gitee中,创建一个开源仓库
  3. 在本机中,创建一个本地仓库
  4. 添加README.md文件和一些文件,并在README.md中添加”好好学习,天天向上”
  5. 提交本地仓库
  6. 在本地仓库中,添加远程仓库(先基于http协议)
  7. 把本地仓库的内容推送到远程仓库中
  8. 克隆远程仓库
  • http协议:每次拉,推都有可能需要输入账号密码
  • git协议:经配置,每次拉、推操作都不需要账号和密码 – 方便
$ git clone url 
# 基于HTTP协议 
$ git clone https://gitee.com/addmdxwg/git-test.git
$ git clone git@gitee.com:addmdxwg/git-test.git
  1. SSH配置

基于Git协议进行通信

第一步:创建SSH key

$ ssh-keygen -r rsa -C "3315867391@qq.com"

然后一直回车

  • 私钥:id_rsa
  • 公钥:id_rsa.pub
  • known_hosts : 建立本地仓库与远程仓库之间的信任

第二步:把上面查看的公钥,复制到github、gitlab、coding、gitee中,进行公钥的部署,这里以gitee为例:

用户可以通过主页右上角**「设置」->「安全设置」->「SSH公钥」->「添加公钥」**,添加生成的 public key 添加到当前账户中

  1. 拉取

1.拉取合并分支

# 方法一 : 拉取并且合并
$ git pull
# 方法二 :拉取之后在合并
$ git fetch
$ git merge

2.拉取 + 合并指定分支

# 把远程仓库 origin 的 master分支 拉取过来与本地的testing 合并
$ git pull origin master : testing
# 如果你是要与当前分支合并 可以直接省略冒号+前面的
# 拉取远程仓库的test与本地当前分支合并
$ git pull origin test
# 配置上游后可以直接简写
$ git pull origin
$ git pull
# 注意:我们也可以这么做
# 首先各自分支拉取自己的分支内容
# 然后在本地进行合并分支
# 最后,推送远程仓库
  1. 标签操作

1)创建本地标签并推送

#创建本地标签
$ git tag v1.0.0
#推送到远程仓库
$ git push origin v1.0.0
#推送多个标签
$ git push origin --tags

2)删除标签

# 删除本地标签
$ git tag -d v1.0.0
# 删除远程仓库标签
$ git push origin :refs/tags/v1.0.0
$ git push origin --delete v1.0.0
  1. 忽略文件

是一个名称为 .gitignore 的特殊文件,用于定义相关的文件,不纳入Git版本控制,因此,称之为忽略文件。

$ cat .gitignore
*.[oa]	# 忽略所有以.o或.a结尾的文件
*~			# 忽略所有以~结尾的文件

.gitignore 文件 的格式规范如下:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
  • 匹配模式可以以( / )开头防止递归。
  • 匹配模式可以以( / )结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上叹号( ! )取反

所谓的 glob 模式 是指 shell 所使用的简化了的正则表达式。

  • * :匹配零个或多个任意字符;
  • [abc] :匹配任何一个列在方括号中的字符 (要么是 a,要么是 b,要么是 c);
  • ? :只匹配一个任意字符;
  • 如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。
  • 使用两个星号( ** )表示匹配任意中间目录,比如 a/**/z 可以匹配 a/za/b/za/b/c/z
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

四、对远程仓库进行操作

  1. 本地分支推送到远程分支
# 创建本地分支并切换
$ git checkout -b test
# 对分支进行各种操作。。。 后提交
$ echo 11 > 1.txt
$ git add .
$ git commit -m 'test'
# 提交分支
# 在提交之前同步一下远程仓库的文件,保持一致
$ git pull
# 方法一,提交到名字一样的,没有就自己创建
$ git push origin test
# 方法二
$ git push origin test[本地分支]:test[远程分支]
# 方法三
$ git push -u origin main  # 设置上游
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号