【Git】:远程操作

目录

新建远程仓库

克隆远程仓库

向远程仓库推送

拉取远程仓库

[配置 Git](#配置 Git)

忽略特殊文件

给命令配置别名


我们可以自己搭建⼀台运行 Git 的服务器,不过现阶段,为了学 Git 先搭个服务器绝对是小题大作。好在这个世界上有个叫 GitHub 的神奇的网站,从名字就可以看出,这个网站就是提供 Git 仓库托管服务的,所以,只要注册⼀个GitHub账号,就可以免费获得 Git 远程仓库。
GitHub是国外的网站,速度比较慢,我们课堂上同统⼀采用 Gitee 来托管代码。下来,我们从零开始, 使用⼀下 Gitee 远程仓库。
先去下面网站创建一个 Gitee 的账户

复制代码
gitee.com

新建远程仓库

填写基本信息

  1. README 文件是存储在 Gitee 仓库中的一种文本文件,它的主要作用是向其他用户(包括团队成员、开源项目的使用者等)提供关于仓库内容的基本信息。通常,这个文件会以纯文本格式(如.txt)或者使用标记语言(如 Markdown 的.md格式)编写
  2. 在 Gitee 中,Issue 是一种用于项目管理和沟通的工具,它并不是传统意义上的文件。当你在一个 Gitee 仓库中打开 Issues 页面时,会看到一系列的问题、任务或讨论主题记录。
    1. 它类似于一个任务列表或问题跟踪系统,开发团队成员、仓库使用者或者其他相关人员可以通过创建 Issue 来报告软件缺陷(Bug)、提出新的功能需求、对项目进行提问或者展开讨论等。
  3. 在 Gitee 中,Pull Request 是一种用于团队协作开发和代码审查的机制。它主要用于将一个分支(通常是开发者自己的特性分支)的修改合并到另一个分支(通常是主分支,如mastermain)中。
    1. 开发者在自己的分支上完成代码开发、修改后,通过创建 Pull Request 来向其他团队成员(如项目负责人、代码审查者等)发起合并请求,请求将自己分支的修改合并到目标分支。这使得团队成员可以在合并之前对代码进行审查,讨论修改内容,确保代码质量和功能完整性。

创建成功

克隆远程仓库

克隆/下载远端仓库到本地

复制代码
git clone 远端仓库的链接

远端仓库的链接


我们可以发现他有几种协议传输,我们主要讲解SSH 协议 和 HTTPS 协议

  1. SSH 协议和 HTTPS 协议是 Git 最常使用的两种数据传输协议。
  2. SSH 协议时,使用了公钥加密 和 公钥登陆机制,体现了其实用性 和 安全性,使用此协议需要将我们的公钥放上服务器,由 Git 服务器进行管理。
  3. HTTPS 协议时,没有要求,可以直接克隆下来。

使用 HTTPS 协议:

确实 clone 到了本地


使用 SSH 协议:
使用 SSH 协议 克隆仓库,由于我们没有添加公钥到远端库中,服务器拒绝了我们的 clone 链接。需要我们设置⼀下:

  1. 第⼀步:创建SSH Key 。在用户主目录下,看看有没有 .ssh 目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub 这两个⽂件,如果已经有了,可直接跳到下⼀步。如果没有,需要创建 SSH Key(使用如下命令)
    1.

    复制代码
       ssh-keygen -t rsa -C "自己的gitee邮箱"
    1. 顺利的话,可以在用户主目录⾥找到 .ssh 目录,里卖有 id_rsaid_rsa.pub 两个⽂件,这两个就是SSH Key的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以地告诉任何⼈。
  2. 第二步:添加自己的公钥到远端仓库

第⼀步:创建SSH Key 。在用户主目录下,看看有没有 .ssh 目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub 这两个⽂件。

我们发现没有id_rsaid_rsa.pub 这两个⽂件

创建 SSH Key

创建 SSH Key 成功,已经有了id_rsaid_rsa.pub 这两个⽂件

第二步:添加自己的公钥到远端仓库

复制id_rsa.pub 文件的内容,添加到远端仓库

点击 ssh公钥 选项,进行设置:

点击确认后,需要对你进行认证,输入你的账号密码即可。


clone成功!如果有多个人协作开发,GitHub/Gitee 允许添加多个公钥,只要把每个人的电脑上的
Key 都添加到 GitHub/Gitee,就可以在每台电脑上往 GitHub/Gitee 上提交推送了。
当我们从远程仓库克隆后,实际上 Git 会自动把本地的 master 分支 和 远程的 master 分支对应起来,并且,远程仓库的默认名称是 origin 。
查看远程库的信息

复制代码
// 查看远程库的信息
git remote 
// 查看远程库详细的信息
git remote -v

向远程仓库推送

将本地的分支版本上传到远程并合并,命令格式如下:

复制代码
git push <远程主机名> <本地分⽀名>:<远程分⽀名>

// 如果本地分⽀名与远程分⽀名相同,则可以省略冒号
git push <远程主机名> <本地分⽀名>

提交时要注意:

  1. 如果我们之前设置过全局的 namee-mail,这两项配置需要和 gitee 上配置的用户名和邮箱⼀致,否则会出错。
  2. 或者从来没有设置过全局的 namee-mail,那么我们第⼀次提交时也会报错。这就需要我们重新配置下了,同样要注意需要和 gitee 上配置的用户名和邮箱⼀致。如何配置已讲过,在这里就不再赘述,详情可以看下面文章
  3. 【Git】:Git基本操作-CSDN博客 中的配置本地仓库

注意:

  • 我们使用的是 SSH 协议,是不用每⼀次推送都输入密码的,方便了我们的推送操作。
  • 如果你使用的是 HTTPS 协议,有个麻烦地方就是每次推送都必须输入密码。

拉取远程仓库

有些时候远程仓库是要领先于本地仓库⼀个版本,为了使本地仓库保持最新的版本,我们需要拉取下远端代码,并合并到本地。
从远程获取代码并合并本地的版本

复制代码
git pull <远程主机名> <远程分⽀名>:<本地分⽀名>

// 如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。
git pull <远程主机名> <远程分⽀名>

配置 Git

忽略特殊文件

在日常开发中,我们有些⽂件不想或者不应该提交到远端,比如保存了数据库密码的配置文件,那怎么让 Git 知道呢,有如下两种方法

  1. gitee 在创建仓库时就可以为我们生成一个特殊的 .gitignore 文件,不过需要我们主动勾选⼀下
  2. 在 Git 工作区的根目录下创建⼀个特殊的 .gitignore 文件,然后把要忽略的文件名填进去,Git 就会自动忽略这些文件了。

方法一:在我们创建仓库的时候勾选上

可以发现,确实创建了一个.gitignore 文件,并且里面已经根据你选择的编程语言默认生成了一些

方法二:直接在Git 工作区的根目录下创建⼀个特殊的 .gitignore 文件

.gitignore 文件屏蔽文件的规则

复制代码
// 直接输入文件,屏蔽这个文件
tset.cpp 

// 屏蔽某种后缀的文件
*.cpp

// 不想屏蔽某个文件
!test.cpp

有些时候因为我们添加不了一些文件我们可以使用命令检查

复制代码
git check-ignore -v 文件名

给命令配置别名

在我们使用 Git 期间,有些命令敲的时候着实让人头疼,幸运的是,git支持对命令进行简化!
将 git status 简化为 git st

复制代码
git config --global alias.st status
--global 参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有⽤。如果不加,那只
针对当前的仓库起作⽤。
相关推荐
无心水1 小时前
【Hermes:安全、权限与生产环境】39、智能体也会犯错?Hermes 纠错、回滚与遗忘机制全指南 —— 让 AI 的错误像 Git 一样可逆可控
人工智能·git·安全·mcp协议·openclaw·hermes·honcho
南境十里·墨染春水6 小时前
linux学习进展 git详解
linux·git·学习
zhangfeng11336 小时前
CodeBuddy ai对话框上面的git docs terminal Rulds 干嘛用的,以thinkphp fastadmin 为例,插件市场
人工智能·git·编程
OYangxf7 小时前
Git Conflict Resolution
大数据·git·elasticsearch
高斯林.神犇7 小时前
Git全套流程
git
次元工程师!9 小时前
LangFlow开发(一)—安装和部署
git·python·大模型·langflow
怣疯knight9 小时前
【无标题】
git
Jim-zf10 小时前
git 锁文件
git
lcx_defender10 小时前
Git常见操作与指令
git
一只积极向上的小咸鱼21 小时前
嵌套 Git 仓库 / gitlink / submodule 问题总结
大数据·git·elasticsearch