【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 # 推到远程,删除也是修改
相关推荐
今禾1 天前
Git完全指南(下篇):Git高级技巧与问题解决
前端·git·github
Molesidy1 天前
【Git】【TortoiseGit】TortoiseGit安装与基础使用
git
lichong9511 天前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++
222you1 天前
Git仓库推送到GitHub
git·github
你的人类朋友2 天前
hotfix分支的使用
git·gitlab·github
小蜜蜂爱编程2 天前
gerrit的部署与配置关联到不同服务器上的git仓库
运维·服务器·git·gerrit
颇有几分姿色2 天前
Git将本地项目推送到GitLab
git·gitlab
Kent_J_Truman2 天前
Git个人配置偏好记录以及注意事项
git
小龙报2 天前
《算法每日一题(1)--- 连续因子》
c语言·开发语言·c++·windows·git·算法·visual studio
今禾2 天前
Git完全指南(中篇):GitHub团队协作实战
前端·git·github