【Git】远程操作 + 给命令配置别名 + 标签管理

【Git】远程操作 + 给命令配置别名 + 标签管理

  • [SSH 协议和 HTTPS 协议 (皆数据传输协议)](#SSH 协议和 HTTPS 协议 (皆数据传输协议))
  • 给命令配置别名
  • 标签管理
    • 创建标签 (git tag name commit_id)
    • [创建带有说明的标签(git tag -a name -m "XXX" commit_id)](#创建带有说明的标签(git tag -a [name] -m "XXX" [commit_id]))
    • [git show tagname # 查看标签信息](# 查看标签信息)
    • [删除标签(git tag -d 已有标签名)](#删除标签(git tag -d [已有标签名]))
    • [推送某个标签到远程 (git push origin <tagname>)](#推送某个标签到远程 (git push origin ))
    • [一次推送多个标签 (git push origin --tags)](#一次推送多个标签 (git push origin --tags))
    • 删除远程标签

SSH 协议和 HTTPS 协议 (皆数据传输协议)

SSH 协议和 HTTPS 协议是 Git 最常使⽤的两种数据传输协议

  1. SSH 协议使⽤了公钥加密和公钥登陆机制,体现了其实⽤性和安全性,使⽤此协议需要将我们的公钥放上服务器,由 Git 服务器进⾏管理。
  2. HTTPS ⽅式时,没有要求,可以直接克隆下来。

SSH协议的使用:(ssh-keygen -t rsa -C "123123123@qq.com")

  1. 创建SSH Key。在⽤⼾主⽬录下,看看有没有.ssh⽬录,如果有,再看看这个⽬录下有没有

    id_rsa 和 id_rsa.pub 这两个⽂件,如果已经有了,可直接跳到下⼀步。如果没有,需要创建

    SSH Key:

  2. 用户主目录里有.SSH目录,⾥⾯有 id_rsa 和 id_rsa.pub 两个⽂件,这两个就是SSH Key的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥 ,可以放⼼地告诉任何⼈

    打开gitee设置:

    当我们从远程仓库克隆后,实际上 Git 会⾃动把本地的 master 分⽀和远程的 master 分⽀对应起来 ,并且,远程仓库的默认名称是 origin 。在本地我们可以使⽤ git remote 命令,来查看远程库的信息 ,如

向远程仓库推送

设置过全局的 name 和 e-mail,这两项配置需要和 gitee 上配置的⽤⼾名和邮箱⼀致,否则会出错

将本地的分⽀版本上传到远程并合并

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

SSH:不⽤每⼀次推送都输⼊密码的
HTTPS 协议,每次推送都必须输⼊⼝令

.# git push origin master //配置的是SSH协议,不用输密码信息

拉取远程仓库

远程仓库是要领先于本地仓库 ⼀个版本,为了使本地仓库保持最新的版本,我们需要拉取下远

端代码,并合并到本地。Git 提供了 git pull : 从远程获取代码并合并本地的版本。格式如下

git pull <远程主机名> <远程分⽀名>:<本地分⽀名> # 远程拉到本地

如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。

git pull <远程主机名> <远程分⽀名>

Git忽略特殊⽂件 (.gitignore)

gitee 在创建仓库时就可以为我们⽣成,也可以本地⼯作区touch一个,然后推到远程

gitee里创建的.gitignore默认忽略以下文件

git add -f filename # 被 .gitignore 忽略的文件,⽤ -f 强制添加

git check-ignore

.gitignore 写得有问题,需要找出问题,如:a.so是要被添加的,可以⽤ git check-ignore 命令检查:

vim .gitignore往里添加了.so*

!.gitignor (不排除.gitignore)

// 排除所有.开头的隐藏⽂件:
.

// 不排除.gitignore
!.gitignor
*

给命令配置别名

git config --global alias.st status # 将git status 简化为 git st ,

标签管理

标签 tag对某次 commit 的⼀个标识,相当于起了⼀个别名

创建标签 (git tag name commit_id)

  1. 切换到需要打标签的分⽀上
  2. git tag name #打⼀个名为name的新标签
  3. git tag # 查看所有标签

默认标签是打在最新提交的 commit 上 的。
那如何在指定的commit上打标签呢?⽅法是找到历史提交的commit id,

git tag v0.0 commit id # 向commit id 打标签

// 标签不是按时间顺序列出,⽽是按字⺟排序的

创建带有说明的标签(git tag -a name -m "XXX" commit_id

⽤-a指定标签名,-m指定说明⽂字

git show tagname # 查看标签信息

删除标签(git tag -d 已有标签名

git tag -d 已有标签名

推送某个标签到远程 (git push origin )

一次推送多个标签 (git push origin --tags)

删除远程标签

  1. git tag -d v1.0 # 先从本地删除:
  2. git push origin :refs/tags/v1.0 # 推到远程,删除也是修改
相关推荐
Geek-Chow1 小时前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
wear工程师1 小时前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git
村雨遥2 小时前
覆盖提交不等于删除,这才是彻底清除 Git 历史的正确姿势
git·github
淮北4942 小时前
ubuntu22 默认输入法调整频率
运维·服务器·git·ubuntu·elasticsearch
dunge20264 小时前
2026 ChatGPT Plus / Pro + Codex 实战:从 0 搭一套 AI 编程项目模板,AGENTS.md + Git + 测试一次配好
人工智能·git·chatgpt
福如意如我心意1 天前
git清除仓库敏感文件并同步至远端的操作
git
Brilliantwxx1 天前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
.Hypocritical.2 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化