【Git】TortoiseGit(小乌龟)配置SSH和使用

简介: 【Git】TortoiseGit(小乌龟)配置SSH和使用


1、TortoiseGit(小乌龟)配置SSH

Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。(有HTTPS协议和SSH协议 SSH协议好像更安全)

预装软件git(Windows版)和TortoiseGit(小乌龟)

设置全局属性

1.1、右击打开Git命令窗口

1.2、设置Git的全局name和email

(在我们执行git pull等一些操作的时候,会提示你它不知道你是谁,你就需要配置name和email.)

git config --global user.name "xx"      
git config --global user.email "xx@163.com"

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱可以qq,可以网易。现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

1.3、查看是全局名字和邮箱是否设置成功

git config --list(查看配置的信息)

1.4、生成 sshkey秘钥

1、查看是否已经有了ssh秘钥:cd ~/.ssh  一般都是C:\Users\shlc4\.ssh 里面有两个文件一个是公钥文件id_rsa.pub 一个密钥文件id_rsa

如果有这个文件会无法生成新的秘钥需要提前删掉或备份,第一次安装是没有的,不用管

输入命令如图提示说明没有这个路径则进行下面操作

2、生成密钥:

2.1生成公钥

ssh-keygen -t rsa

按照提示完成三次回车,即可生成 ssh key(如图所示)。生成了了id_rsa和id_rsa.pub

3、查看id_rsa.pub公钥

cat ~/.ssh/id_rsa.pub

4、复制选中内容添加到Gitee上 点击个人头像 「设置」->「安全设置」->「SSH公钥」 ,添加生成的 public key 添加到仓库中。(将id_rsa_pub公钥配置到gitee)

5、生成known_hosts文件(三个文件缺一不可)

添加后,在Git命令窗口中继续输入

ssh -T git@gitee.com

四、最重要的一步找到 ssh.exe,否则的话会报各种各样的错误,有权限不足,有让你输入git账户密码的,因为小乌龟和git有一定冲突默认路径是C:\Program Files\TortoiseGit\bin\sshaskpass.exe需要改成C:\Program Files\Git\usr\bin\ssh.exe

应用确定一下就可以了,后面就可以使用ssh方式从gitee仓库克隆拉取代码

2、TortoiseGit(小乌龟)的使用

2.1、创建本地仓库

我们新建一个空的文件夹:

然后进入tortoise目录,右键操作:

弹出提示,不要勾选:

查看目录,发现生成.git文件夹:

2.2、添加文件并提交

创建新的文件:

编写内容:

在文件夹中右键操作:

提示:这一步等同于我们的 git add readme.txt

此时直接点击提交,即可完成:git commit 操作:

提示:

2.3、管理修改

2.3.1、差异对比

修改readme.txt:

右键操作:

结果:

2.3.2、提交修改

直接在文件上选择右键,提交即可:

2.3.3、查看提交日志

选中文件,右键菜单中,选中查看日志:

提交的日志信息:

2.3.4、版本回退

现在我们再次修改readme.txt,并且提交

查看日志:

假如我们要回到上一个版本,也就是第2次提交。

我们选中第2次提交,然后右键,选中:重置“master”到这个版本

弹出菜单,这里选中Hard模式,然后确定:

再次查看日志,只剩下第1和第2次提交了。并且HEAD已经设置到了第2次提交位置

文件也回滚了:

如果我现在后悔了,想再次回到第3次提交怎么办?现在连日志都没有了!

此时,在空白处点击右键,选中 显示引用记录

弹出所有操作的日志信息:

现在,我们找到第3次提交,右键,选中:重置“master”到这个版本

结果,第3次提交又回来了!

文件内容回来了:

2.3.5、撤销修改

我们现在修改文件:

现在后悔了,想要还原到修改以前。

我们可以选中文件,右键。然后选中菜单:还原。

点击确定:

还原成功:

查看文件:

2.4、访问远程仓库

2.4.1、设置tortoise的SSH

由于安装时,我们并没有设定SSH信息,因此默认tortoise默认使用的ssh工具是“PuTTY”。

然而,git Bash使用的ssh工具是“openSSH”,如果想让TortoiseGit也使用刚才生成的密钥可以做如下配置:

找到git安装目录下的ssh.exe文件:

2.4.2、关联远程仓库

这里的四个选项:

  1. 远端仓库名称,一般交origin
  2. URL:远程仓库地址
  3. 推送URL:同上
  4. Putty密钥:我们用git bash 生成的私钥。

2.4.3、推送本地仓库

在空白处点右键,选择 “Git同步”:

弹出菜单中,选择将master推送到远程仓库的master:

成功:

私服中也显示了最新的信息:

2.4.4、从远程仓库拉取

现在,我们先在远程仓库修改数据:

然后在本地的tortise文件夹点击右键,菜单中选择:拉取:

成功:

查看文件:

2.5、分支管理

2.5.1、创建分支

在文件夹的空白处点击右键。选择创建分支:

填写分支名称和说明

查看日志,发现已经有了dev分支:

2.5.2、切换分支

在空白处选择右键,菜单中选择: 切换/检出

选择要切换的分支

在dev分支中。修改readme文件

提交修改。

然后切换到master:

查看文件内容,发现并没有变化,因为刚才的修改是在dev完成的。master没有影响。

2.5.3、合并分支

空白处点击右键,选择合并菜单

选择将dev合并当当前分支:

成功:

查看内容:

2.5.4、解决冲突

切换到dev,然后进行修改

提交数据。

切换到master,修改readme:

然后提交修改

尝试用master合并dev:

结果失败了,因为有冲突:

查看文件:

手动解决:根据需求去处理。这里我们假设两者都保留:

标记为解决:

解决完成,直接提交:

提示信息:

查看日志:

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
11月前
|
存储 安全 开发工具
Git安装与配置:操作步骤+Gitee绑定
本文系统介绍了Git从安装配置到远程协作的全流程,涵盖基础概念、常用命令、分支管理、冲突解决及Gitee实战操作,助你高效掌握代码版本控制与团队协作技巧。
1568 155
|
12月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
1414 20
|
12月前
|
存储 Java 开发工具
【Git】零基础入门:配置与初始操作实战指南
本文聚焦 Git 的“从 0 到 1”配置与基础操作,旨在帮助 Java 开发者快速掌握环境搭建、用户配置、仓库初始化、代码提交、版本回退等核心技能。内容设计上避免涉及复杂的分支策略或高级命令,以实用为导向,适合零基础入门者系统学习,为后续参与企业级项目开发奠定版本控制基础。
|
网络安全 开发工具 git
GitHub 多账户 SSH 配置指南
本文介绍了如何在同一台电脑上配置多个 GitHub 账户的 SSH 密钥。内容包括:检查现有密钥、生成新的 SSH 密钥、配置 SSH config 文件、将公钥添加到 GitHub、验证 SSH 连接、设置 Git 用户信息、创建工作区目录、使用不同账户克隆仓库,以及为每个仓库配置独立的用户信息等步骤。通过这些操作,可以实现在不同项目中使用不同的 GitHub 账户进行提交和管理。
933 0
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
670 10
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
725 0
|
开发工具 git
git 配置本地代理
git 配置本地代理
1384 0
|
网络协议 开发工具 网络虚拟化
SourceTree git 配置代理
SourceTree git 配置代理
1068 1
|
Web App开发 开发工具 git
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
2853 15