当前位置: 首页 > news >正文

Git使用SSH登陆

一、SSH介绍

         SSH连接相比于HTTP连接会简单一点,因为SSH连接通过了私钥与公钥进行身份认证,这样就不需要像HTTP一样,每次clone或者操作仓库都需要输入密码

        其中私钥和密钥是需要在自己电脑上生成的,通过命令即可生成一个私钥和一个密钥,这两个是成对出现的,一般会生成在你电脑C盘的用户目录下,有一个.ssh文件夹,如果看不到这个文件夹,打开文件管理器的显示隐藏文件功能,一般里边会有两个文件,一个是公钥,一个是私钥,后缀带.pub的是公钥

        公钥需要放到远端服务器的,私钥一般就保存在电脑上即可,不要泄露给别人。

        如果你要操作的仓库没有公钥,你是不能对这个仓库进行操作的,必须把你生成的公钥添加进去,下面会讲如何操作。

二、本地创建SSH密钥

        1、先在本地打开git bash,然后输入如下命令按三次回车,命令里的邮箱就写你远端仓库的邮箱即可

ssh-keygen -t rsa -C "远端仓库邮箱"

        2、 按完三次回车后,即可进入C盘用户目录,找到.ssh文件夹,打开里边后缀为.pub的文件,复制里边内容

        3、打开远端仓库,这里以gitee为例,登陆后点击右上角,找到账号设置,进入设置后找到SSH公钥,把刚才复制的粘贴进去,点击确定,就完成了公钥添加。

        注意:远端仓库分为仓库密钥和个人密钥,仓库密钥只能克隆和拉取仓库,不能推送仓库,也就是不能对仓库进行修改,而个人密钥是可以对仓库进行推送的。

        如果设置的是仓库密钥,在推送的时候会提示权限不够。

        4、测试SSH登陆,打开Git bash,输入如下命令测试,中间会让输入一次yes,如果SSH密钥设置成功,即可看到会输出You've successfully authenticated字样。

ssh -T git@gitee.com

三、通过SSH克隆仓库

3.1 本地没有仓库

        1、找到一个工作空间,最好在一个空文件夹下,然后打开Git bash,输入如下命令即可克隆仓库,后面接的地址一定是SSH地址

git clone 远端SSH地址

        2、切换到需要操作的分支,一般clone下来的仓库都是有很多个分支的,使用下面命令查看所有分支,如果是新clone的仓库分支是一样的。

# 查看远端仓库所有分支
git branch -r
# 查看远本地仓库所有分支
git branch -a

        使用下面命令切换对应分支:

 git checkout 需要操作的分支名字

        如果只有一个master分支,想再创建一个新分支,使用如下命令,再哪个分支上使用checkout命令,就是基于哪个分支创建的新分支。

git checkout -b 新分支名字

        如果想删除某个分支,使用下面命令

        注意必须处于别的分支才能删除这个分支,不能再本分支删除本分支

git branch -d 要删除的分支名字

        如果想删除远端分支,可以直接再远端界面操作,也可以使用下面命令

git push origin --delete 远端要删除分支名字

3.2 本地有仓库

        1、添加远端仓库        

        如果本地有一个仓库,使用如下命令添加远端仓库

git remote add origin 远端仓库SSH地址

        2、拉取远端仓库

        使用下面命令拉取远端仓库,会把远端仓库的所有分支全部拉取下来

git pull

        如果只是想拉取远端仓库的某一个分支,使用如下命令 

git pull origin 要拉取的远端仓库分支名

        如果本地仓库是一个空仓库,使用上面命令会把拉取下来的东西放到master分支,如果想跟远端仓库名字一样。需要使用如下命令,这里本

git push origin bee本地分支名字:远端仓库分支名字

地分支名字也写成远端分支名字,为后面上传减少麻烦

git pull origin 远端分支名字:本地分支名字

        注意:如果你本地是一个空仓库,拉取某一个仓库后,你的分支名就是master,而不是你远端仓库的分支名,这个后面推送的时候可能推送不上去,后面会讲

        空仓库的master分支实际是不存在的,也不能上来直接使用 git branch命令创建新分支,但是可以使用git checkout -b 命令直接创建新分支,其实页没有创建新分支,只是把默认的master改为了你写的分支名字

        但是如果你本地已经有分支了,就不会出现这种情况,只需要拉取完仓库后,切换到对应的分支即可,然后再操作,或者在对应分支的基础上再创建新的分支

        3、推送仓库

        使用如下命令即可把本地仓库推动到远端仓库

        如果当前分支是新创建的分支,就会在云端上传一个新的分支

git push origin 远端仓库分支名字

        注意:如果前面说的,你本地分支名字跟远端仓库分支名字不同,就需要使用如下命令

git push origin 本地分支名字:远端仓库分支名字

        4、合并分支

        首先需要切换到你要合并的分支,然后使用如下命令合并

git merge 要合并到当前分支的分支名字

相关文章:

  • synchronized的原理和锁升级
  • Ubuntu “文件系统根目录”上的磁盘空间不足
  • 数据结构篇——线索二叉树
  • 【R语言】lm线性回归及输出含义,置信区间,预测,R方,ggplot 拟合直线
  • Unity学习之Shader总结(一)
  • Ubuntu20.04安装Nvidia显卡驱动
  • Cursor与Blender-MCP生成3D模型
  • Spring Boot集成MyBatis与MySQL
  • linux du和df
  • Linux 快捷键 | 终端快捷键 / 键盘快捷键
  • 大模型如何赋能安全防御?威胁检测与漏洞挖掘的“AI革命”
  • Linux 命令行整理(完善中)
  • fastapi+angular实现菜鸟驿站系统
  • 安全地自动重新启动 Windows 资源管理器Bat脚本
  • HTML 样式与布局初体验:学习进程中的关键节点(一)
  • 在 VSCode 远程开发环境下使用 Git 常用命令
  • Spring Boot - Spring Boot 静态资源映射(默认静态资源映射、自定义静态资源映射)
  • pytorch小记(十三):pytorch中`nn.ModuleList` 详解
  • 什么是站群服务器?站群服务器应该怎么选?
  • (暴力枚举 水题 长度为3的不同回文子序列)leetcode 1930
  • “85后”潘欢欢已任河南中豫融资担保有限公司总经理
  • 深圳宝安区一宗涉宅用地中止出让,起始总价86.27亿元
  • 影子调查丨危房之下,百余住户搬离梦嘉商贸楼
  • 一季度全国城镇新增就业308万人
  • 商务部:入境消费增长潜力巨大,离境退税有助降低境外旅客购物成本
  • 理想汽车副总裁刘杰:不要被竞争牵着鼻子走,也不迷信护城河