【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 <tagname>))
    • [一次推送多个标签 (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 # 推到远程,删除也是修改
相关推荐
虫师c6 小时前
GitOps实战:ArgoCD+Tekton打造云原生CI/CD流水线
git·ci/cd·云原生·kubernetes·argocd·tekton
间彧7 小时前
git远程仓库地址发生更改,如何通过命令进行修改
git
xxxandwww11 小时前
git仓库常用命令
git
yan86265924621 小时前
git操作
git
六点半8881 天前
【Git】分⽀管理
git
小前端学徒1 天前
重新修改未提交到远程分支不是最后一次commit的内容
git
执键行天涯1 天前
idea中已经被git缓存追踪的文件,如何让git重新忽略
git·缓存·intellij-idea
hkhkhkhkh1231 天前
Git push 失败(remote unpack failed: Missing tree)解决方案
linux·git
拾贰_C1 天前
【anaconda】anaconda安装配置,git安装配置以及pytorch安装
人工智能·pytorch·git