SSH协议
SSH协议是一种网络协议,用于在两台计算机之间进行安全的远程登录。与https协议不同,https是通过用户名和密码进行认证,而SSH协议是通过密钥进行认证。
- 什么是SSH协议
SSH协议是一种网络协议,用于在两台计算机之间进行安全的远程登录。它使用公钥加密技术,允许用户在不安全的网络中安全地进行远程登录。利用SSH协议可以有效防止中间人攻击、数据篡改、数据泄露等安全风险。
- 如何生成SSH密钥
# 在命令行cmd中输入以下命令,生成SSH密钥
ssh-keygen -t rsa -C "your email"
# 然后回车,会出现一系列提示,按回车键继续。
# 最后会在用户目录下生成.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个文件是SSH密钥。
然后把公钥id_rsa.pub的内容复制到GitHub、GitLab等代码托管平台的SSH公钥设置中。
然后复制仓库的SSH地址,使用SSH协议克隆仓库:
# 克隆仓库
# git clone <ssh_url>
git clone git@github.com:username/repository.git
git标签
- 什么是标签?
- 标签可以是一个对象(带注解标签),也可以是一个简单的指针(不带注解标签),用来标注某次提交对象。
- 如果只是一个简单的指针,则它就相当于一个不会移动的分支。
- 如果是一个对象,则除了保存指向的提交对象的信息之外,还会保存是谁打的标签,什么时间,还可以保存注解信息。(推荐使用)
- 为什么要使用标签?
- 我们可以为重要的版本(某个里程碑)打上标签,相当于为这次提交记录指定一个别名,方便提取文件。比如人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。
- 标签跟分支的区别?
- 分支会跟着我们的提交移动,指向最新的提交对象,但是标签不会移动,它就是指向某个固定的提交对象
新建标签:git tag -a <name> -m "标签说明"
- -a:创建一个带注解的标签
- -m:添加标签说明
默认情况下,标签指向最新提交对象,如果要指定标签指向的提交对象,可以指定提交对象ID。git tag -a <name> <commit_id> -m "标签说明"
# 新建一个标签
git tag -a v1.0 -m "版本1.0"
# 查看所有标签
git tag
# 查看某个标签的详细信息
git show v1.0
# 删除标签
# git tag -d <name>
git tag -d v1.0
# 推送标签到远程仓库
# git push <remote> <tag>
git push origin v1.0
通过标签获取对应版本(检出)git checkout -b 本地分支名 标签名
# 获取v1.0版本
git checkout -b test_dev v1.0