Git和TortoiseGit
1.简介
Git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目。它采用了分布式版本库的方式,不必服务器端软件支持。
2.Git和Svn的区别
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
3.GIT的安装配置
所需文件材料
- Git-2.18.0-64-bit
- TortoiseGit-2.6.0.0-64bit
- TortoiseGit-LanguagePack-2.6.0.0-64bit-zh_CN
注意:因为现在一般的电脑系统位数均为64位,所以仅提供了64位,并且版本需要自己下载。上述的三个文件,曾在多个电脑上部署,可以正常工作。
TortoiseGit是一个开放的Git版本控制系统源客户端,就像一个普通的文件服务器,因为具有界面并且能够以图示的方式显示文件和目录的变化,并能够提示何时改变了那些历史数据,改变人是谁,因此非常方便。
Git则是版本管理的基础功能,通过使用Git的命令行界面,几乎所有的功能均能在Bash命令行下得到实现。唯一的缺点就是不直观。
TortoiseGit其实就是对Git的一个封装起来的程序,用来简化Git的操作。而Language则是TortoiseGit的汉化包。
程序安装步骤
确保程序的安装顺如为Git、TortoiseGit、TortoiseGit-LanguagePack-2.6.0.0-64bit-zh_CN。
安装过程问题不大,根据提示默认安装即可。
生成SSH Keys
ssh keys是远程ssh连接的一种基于秘钥方式安全连接起来的秘钥文件。ssh keys是ssh中基于秘钥的安全验证,你可以通过创建公钥和私钥对的方式来完成ssh keys方式的ssh登录验证。首先需要执行的操作是必须在本地开发机上创建一对秘钥,并把公钥的内容放在需要访问的服务器上。如果你连接到ssh服务器上,客户端软件就会向服务器发出请求,请求用你的秘钥进行安全验证。
服务器收到请求后,先在该服务器上的主目录下寻找你的公用秘钥,然后把它和你发送过来的公用秘钥进行比较。如果两个秘钥一致,服务器就用公用秘钥加密“质询”并把它发送给客户端软件。客户端软件收到质询之后就可以用你的私有秘钥解密再把它发送给服务器。基于ssh keys的登录验证方式可以避免假冒服务器的问题,因为假冒问题获取不到你的秘钥。它比基于用户密码的口令方式更加安全。
为TortiseGit生成SSH Keys
点击PuTTYgen即可,倘若在工作机上安装了Everything或者Listary等工具,直接搜索该文件即可。该文件的默认目录位于:
C:\Program Files\TortoiseGit\bin
在Key区域根据提示
Please Generate some randomness by moving the mouse over the blank area
快速移动鼠标产生随机数以产生Public key。生成Key之后通过点击Save public key把公钥文件保存在当前目录[TortoiseGit\bin]下,命名为id_rsa.pub,然后点击Save private key,把私有文件保存在当前目录下,命名为id_rsa.pri即可。
注意:私有秘钥文件是需要保存的,在使用TortoiseGit克隆代码时,需要勾选私钥文件进行加载的,不然会一直提示输入Git服务器的密码
然后需要拷贝生成的公钥文件,全选区域2中的内容即可。把该内容添加到Git 服务器网页个人设置中。参见3.3节
为Git生成公钥
一个重要的问题是,git生成的公钥和TortoiseGit生成的公钥是不一致的。
在3.2.1节生成的秘钥对针对TortoiseGit客户端而言的。因此,需要为Git生成公钥。
首先需要确认你自己是否已经拥有Git秘钥。默认情况下,用户的SSH秘钥保存在~/.ssh目录下,进入该目录下,并列出其中的内容,你便可以快速确认自己是否已拥有秘钥:
$ cd ~/.ssh
$ ls
Authorized_keys2 id_dsa known_hosts
Config id_rsa_pub
需要找到一对以id_dsa或者id_rsa命名的文件名,其中一个带有pub扩展名,另一个则是私钥。.pub文件是公钥,另外一个则是私钥。如果找不到这样的文件,则可以进行下述操作生成秘钥对。在我的工作机上运行上述命令
admin@admin-PC MINGW64 ~/.ssh
$ cd ~/.ssh/
admin@admin-PC MINGW64 ~/.ssh
$ ls
id_rsa id_rsa.pub known_hosts
admin@admin-PC MINGW64 ~/.ssh
$
可以看到秘钥文件对id_rsa和id_rsa.pub
在安装Git软件之后,安装包会自动安装三个应用程序
可以通过Git Bash 或者Git GUI生成秘钥对。
3.2.2.1 Git UI生成SSH Key
点击Git GUI应用程序,弹出如下界面
点击Help->Show SSH Key
在点击Generate Key之后,会弹出两个对话框,直接Enter即可。全选生成的秘钥,拷贝,需要把该内容加入到Git服务器网站个人SSH Keys的设置中。可以看到通过该界面方式,程序会自动的把秘钥内容保存在目录
~/.ssh/id_rsa.pub
即,通过该方式生成的秘钥对与Git Bash生成SSH Key其实是一模一样的效果。拷贝到Git服务器个人设置的过程参见3.3
3.2.2.2 Git Bash生成SSH Key
在确保目录
~/.ssh/id_rsa.pub
不存在id_rsa和id_rsa.pub文件之后,可以通过Git bash命令行通过ssh-keygen产生秘钥对文件。
首先,在桌面或者任意文件目录下通过点击
Shift和鼠标右键
弹出如下界面:
可以看到Git GUI和Git Bash两个应用程序的入口。直接点击Git Bash即可。
admin@admin-PC MINGW64 ~/Desktop
$ cd ~/.ssh
admin@admin-PC MINGW64 ~/.ssh
$ ls
[ls命令没有列出文件,说明Git秘钥对不存在]
admin@admin-PC MINGW64 ~/.ssh
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/admin/.ssh/id_rsa.
Your public key has been saved in /c/Users/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MfdeR1XNobRSmgAIWiVPSI4vm2lIxODMrKmatFzZzV0 admin@admin-PC
The key's randomart image is:
+---[RSA 2048]----+
|. .=+o.... o o*|
|B =.+. . = o +|
| X . . o .+ o .|
|o.. + .. . |
|oo . S E. . .|
|+ = o o . .. . . |
|o* o . o . . |
|=.o |
|oo |
+----[SHA256]-----+
admin@admin-PC MINGW64 ~/.ssh
$ ls
id_rsa id_rsa.pub
admin@admin-PC MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1oAy1QiN9fXELTTn+ZIRk96Nz7diBrEiJeKuRtTeyUIjCzlOIxCAfP34NdzKj8FPMlHf8u0+ILNUjA26J1IJbxttef3x8IjMGNnawOmJv69SVLncfokK0QtKngzuWcnYYfffyxz4HC5D34ZrEDnicapMdIEVs4olA/O8unL+qOXrrA1gd5rG0Vc7hPHFCo/K73BJaNlxhR3PfalN7Gb0xAaAXeNw6dsHUnadSJd9nAlrn7ySh2aJF6+oGYalcAmCqkwApH/WYAX2BfjBWXg7QufwaWT5+suIdJLDuEeamjzhS0l9SAxvx9JexN0KC4MlSp4W92K8k9vONK0eCfL+h admin@admin-PC
admin@admin-PC MINGW64 ~/.ssh
$
首先ssh-keygen会确认秘钥的存储位置(默认是./ssh/id_rsa),然后它会要求你输入两次秘钥口令。如果你不想在使用密钥时输入口令,将其留空即可。
然后拷贝id_rsa.pub文件的所有内容到Git服务器的个人设置即可,参见3.3
Git网站添加SSH Keys
使用个人的Git账户登录Git服务器网址,点击头像下方的设置,然后选择出现页面左侧的SSH密钥。
拷贝TortoiseGit和Git生成的两个公钥文件的内容拷贝。
保存两个公钥文件的内容到自己的个人设置即可
结果验证
登录Git服务器,然后拷贝SSH的项目URL。
进入你想要拷贝项目的文件目录,例如
D:\Git
然后点击右击空白处,选择Git Bash。键入git clone 命令如下:
admin@admin-PC MINGW64 ~/.ssh
$ git clone git@192.168.0.223:fiso/qw.git
Cloning into 'qw'...
The authenticity of host '192.168.0.223 (192.168.0.223)' can't be established.
ECDSA key fingerprint is SHA256:T/xFtMg6XVeFxyuWXohc7V6UD56eHaoTdVCkW/UsPTQ.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.223' (ECDSA) to the list of known hosts.
remote: Counting objects: 11618, done.
remote: Compressing objects: 100% (359/359), done.
remote: Total 11618 (delta 256), reused 501 (delta 192)
Receiving objects: 100% (11618/11618), 745.83 MiB | 26.62 MiB/s, done.
Resolving deltas: 100% (2642/2642), done.
Checking out files: 100% (18760/18760), done.
使用TortiseGit克隆项目
在当前目录下,右击空白处,选择Git克隆[使用Tortoise Git],运行界面如下:
点击确定之后:运行界面如下
注意:确保勾选加载Putty秘钥
所遇问题:
Git与TortiseGit所生成的公钥私钥不同,如果想同时使用,将公钥分别加入Git服务器中。
Git和TortoiseGit的更多相关文章
- Git/Github + TortoiseGit 使用教程
前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...
- Git在tortoiseGit以及eclipse的使用方法
一.Git安装与简单使用 1.安装git,tortoiseGit 2.创建SSH Key 打开Git Bash,然后输入ssh-keygen生成公钥和私钥: 3.生成ppk文件. 打开puttykey ...
- Git以及TortoiseGit的下载安装使用
Git以及TortoiseGit的下载安装使用 下载git 下载地址:https://git-scm.com/然后进行一系列的安装,傻瓜式的操作即可 TortoiseGit Tortoise 英[ˈt ...
- windows安装配置git和Tortoisegit
git github gitlab Tortoisegit 的概念自行百度 1. 安装git 2. 安装小乌龟:Tortoisegit 和中文包 3. 配置 4. 使用 参考: 目录 安装及配置 ...
- 学习笔记之Git / Gitflow / TortoiseGit
Git - Wikipedia https://en.wikipedia.org/wiki/Git Git (/ɡɪt/) is a version control system for tracki ...
- Git与TortoiseGit基本操作
Git与TortoiseGit基本操作 1. GitHub操作 本节先简单介绍 git 的使用与操作, 然后再介绍 TortoiseGit 的使用与操作. 先看看SVN的操作吧, 最常见的是 检出(C ...
- 在git与tortoisegit中使用openSSH与PuTTY
问题 在使用Git与tortoisegit的时候,指定远程版本库的地址有2种方式: 使用https方式的git地址非常直接(https://xxx.oschina.net/xxx.git),基本上什么 ...
- windows7 64位下git和tortoisegit的安装和使用
githttps://github.com/git-for-windows/git/releases tortoisegit安装下载https://tortoisegit.org/download/ ...
- TortoiseGit学习系列之Git和TortoiseGit的区别
不多说,直接上干货! Git和TortoiseGit的区别: TortoiseGit的安装和使用依赖Git.
- Git学习系列之Git和TortoiseGit的区别
不多说,直接上干货! Git和TortoiseGit的区别: TortoiseGit的安装和使用依赖Git. Git有且只有一个,就是linux最初创建的那个叫做Git的程序.现在的维护者的名字我懒得 ...
随机推荐
- 修改 ssh 远程连接 时间
linux使用的是 红帽旗下 centos. 解释两个文件 /etc/ssh/sshd_config 配置ssh服务器端的 ...
- Mysql 字符问题
先看一下mysql支持的字符范围 *数值类型:1.整形: 类型 大小 范围 ...
- this关键字和static关键字
this关键字 普通方法中,this总是指向调用该方法的对象. 构造方法中,this总是指向正要初始化的对象. this区分成员变量和全局变量的作用,在当前类中可以省略. this的常用方法: 让类中 ...
- iOS异常采用处理方式
iOS开发过程中我们经常会遇到异常问题 对异常的处理一般采用打印或者直接抛出.这样可以很方便我们调试过程有所参考,而且方便我们查看异常产生的位置信息 NSError(错误信息) 采用NSError的情 ...
- centos7系统启动流程
前提:pc主机,MBR架构 第一步:post(power on system test)加电自检. pc机的主板上有个rom芯片(CMOS),加电后,cpu去找这个raw,然后读取里面的指令,检测机器 ...
- 原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误(修改内容有三处
原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误改有三: a) mysql 连接jar包版修改 b)类路径修改 c)配置连接池地址修改 因版本升级,首先要修改 1:mysql- ...
- 《自拍教程19》aapt_apk信息查看工具
aapt命令行工具介绍 aapt.exe(Linux/Ubuntu/imac操作系统下是未带后缀的aapt), 是android sdk自带的用于打包apk,解析apk的命令行工具软件. aapt.e ...
- 处理方法返回ModelAndView类型
1.请求 <a href="test">测试</a> 2.处理方法 @RequestMapping("/test") public Mo ...
- MySQL概述及入门(一)
MySql概述及入门(一) 什么是MySQL? MySQL是当今主流的关系型数据库管理系统(记录是有行有列的数据库) , 可以与Oracle 和SQL Server 竞争 , 是最好RDBMS( ...
- 安装SSDB注意事项
遇到的问题 安装SSDB时 make编译失败 wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip ...