Git 基础使用(3)远程操作


Git 基础使用(1) 入门指令
Git 基础使用(2) 分支管理
Git 基础使用(3) 远程操作
Git 基础使用(4) 标签管理

分布式版本控制系统

前面介绍的均为((⼯作区,暂存区,版本库)本地操作,但Git的重要功能是分布式版本控制。下图中版本控制服务器,举一个具体的实例,GitHub网站就是一个版本控制服务器。 其核心功能为:用户在权限允许的情况下,从GitHub获取代码、或者推送代码进入服务器。(在国内也有类似与GitHub的网站,例如gitee)

远程操作的具体流程:

创建仓库

(创建远程仓库,以 gitee 网站举例)
① 注册账号
② 新建仓库在这里插入图片描述

克隆仓库

① HTTPS clone

在Linux 命令行中执行以下指令
git clone .......(所创建的仓库地址).......
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
② SSH clone

  1. 创建SSH Key :
ssh-keygen -t rsa -C "your e-mail"

在这里插入图片描述

(上图中,Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa)::这里提示你输入保存密钥对的文件路径。如果你直接按下回车键,密钥对会被保存在默认的位置 /home/ubuntu/.ssh/id_rsa。)

(上图中,Enter passphrase (empty for no passphrase): 这个提示是让你输入一个密码短语(passphrase)来保护你的私钥。这个密码短语可以是任何你想要的字符串,它会用于加密你的私钥文件。如果你不想设置密码短语,直接按回车键即可,这样私钥文件就不会被加密。设置密码短语可以提高私钥的安全性,即使私钥文件被盗,没有密码短语也无法使用。但同时也增加了使用私钥的复杂度。密码短语最好设置一个容易记住但又足够复杂的字符串,以平衡安全性和使用便利性。如果你忘记了密码短语,将无法使用这个私钥进行 SSH 连接,所以请务必记住你设置的密码短语`)

(上图中,Enter same passphrase again: 这个提示再输入相同的密码短语,确认密码。)

  1. 查看生成的密钥:

在生成的.ssh目录⾥⾯有 id_rsa 和 id_rsa.pub 两个⽂件,这两个就是SSH Key的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放⼼地告诉任何⼈
在这里插入图片描述
3. 将公钥添加到远程仓库

(id_rsa.pub中的内容为公钥)
在这里插入图片描述
在这里插入图片描述

  1. 使用clone指令

在这里插入图片描述在这里插入图片描述
6. 多人开发

如果有多个⼈协作开发,GitHub/Gitee 允许添加多个公钥,只要把每个⼈的电脑上的Key 都添加到 GitHub/Gitee,就可以在每台电脑上往 GitHub/Gitee 上提交推送了

远程推送

(本地/用户向服务器推送内容)

  1. 首先本地和远程仓库保障配置相同
// 在本地配置,且必须和服务器配置的一致
git config --global user.name '用户名' 
git config --global user.email '用户邮箱'
  1. 将本地的分⽀版本上传到远程并合并
// 是已commit的内容
git push

// 推送本地指定分支
git push <远程主机名> <本地分⽀名>:<远程分⽀名>

//推送所有本地分支到对应的远程分支
git push --all

远程拉取

服务本身也可以对仓库里的内容做修改(例如直接在gitee网站里对README.md文件进行编辑),在这种情况下远程仓库(服务器仓库)
的版本是要领先于本地(用户)仓库的。这种需情况下需要先拉取远程仓库的内容。

// 拉取指定远程仓库指定分支的内容
git pull <远程主机名> <远程分⽀名>:<本地分⽀名>
// 如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。
git pull <远程主机名> <远程分⽀名>

提交时忽略特殊文件

(远程提交时忽略特殊文件)

在你的 Git 仓库根目录下创建一个名为 .gitignore 的文件(Git 仓库的根目录指的是 .git 目录所在的目录,而不是 .git 目录本身)。
在这个文件中添加你想要忽略的文件或目录的模式。每个模式占一行。例如:

# 在 .gitignore 文件中

# 忽略所有的 .log 文件
*.log

# 忽略 node_modules 目录
node_modules/

# 忽略 .DS_Store 文件(macOS 系统文件)
.DS_Store

# 忽略 build 目录
build/

#.gitignore 文件支持使用通配符和正则表达式来匹配文件和目录。

# 忽略所有 .log 后缀的文件
*.log
#  忽略 build 目录
build/
# 忽略 docs 目录下的所有 .txt 文件
docs/*.txt
# 不忽略 important.log 文件(感叹号表示例外)
!important.log

配置完成后,在执行 git add . 或 git commit 等命令时,Git 会自动忽略掉 .gitignore 文件中指定的文件和目录。

# 无视.gitignore文件的配置,强制执行。
 git add -f [filename]
  • 30
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弦化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值