[原创] 使用Tortoisegit管理gitHub版本库

一、名词

1. git

  git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。分为服务器端和客户端两部分软件。

2. TortoiseGit

  TortoiseGit是一个带有可视化UI的git版本控制系统客户端软件。该软件是开源免费的,并且支持多国语言,有32位和64位两种版本。
  git官方只提供命令行的客户端软件(没有可视化UI的),“TortoiseGit”就是为官方的命令行客户端提供可视化的UI,所以TortoiseGit运行依赖于git命令行客户端软件(必须安装git命令行客户端“TortoiseGit”才能正常运行)。

3. gitHub

  gitHub是一个面向开源及私有软件项目的托管平台。因为只支持git 作为唯一的版本库格式进行托管,所以命名为“gitHub”。

二、安装软件

1. git

  从git官网(https://git-scm.com/downloads)下载合适的版本,并进行安装。安装完成后,在“开始 -> 程序”菜单中可以看到“git”。

在这里插入图片描述

2. TortoiseGit

  从TortoiseGit官网(https://tortoisegit.org/download/)下载合适的版本,并进行安装。
  安装过程中,需要选择“SSH客户端”。Tortoisegit 支持使用两种SSH客户端,一种是TortoiseGitPlink,一种是OpenSSH。安装时选哪种客户端不重要,因为以后可以在“设置 -> 网络”配置中更换。

在这里插入图片描述
说明:
  安装完成后暂时不要启动“Tortoisegit”(如果已经启动了,可以先关闭掉)。

3. TortoiseGit语言包

  从TortoiseGit官网(https://tortoisegit.org/download/)下载合适的语言包,并进行安装。
  语言包安装完成后,打开“开始 -> 程序 -> TortoiseGit”菜单下的“Setting”程序,进行设置“TortoiseGit”。选择设置窗口中左侧的“General”,然后在右侧的“Language”列表中选择“中文(简体)”,就将软件切换到中文版。

三、申请gitHub账号

  如果还没有gitHub的账号,必须先到gitHub网站注册账号(https://github.com/join?source=header-home)。

注意:
  除了注册时使用的用户名和密码需要记住,使用的Email地址也要记住。

四、生成SSH密钥对

  gitHub支持两种安全密钥:SSH和GPG,安全密钥包含公钥和私钥两部分。TortoiseGit只支持使用SSH安全密钥,TortoiseGit可以用TortoiseGitPlink、OpenSSH两种客户端生成SSH密钥。
  启动“开始 -> 程序 -> TortoiseGit -> Setting”程序,打开“TortoiseGit”设置窗口。

在这里插入图片描述
  选择设置窗口中左侧的“常规设置”,在窗口右侧点击“(重新)运行首次启动向导”,打开“首次启动向导”窗口。

在这里插入图片描述
  一直点击“下一步”,直到“配置用户信息”步骤。在这一操作步骤中设置的“用户名”和“Email”将作为全局配置(就是作为本地所有版本库的默认“用户名”和“Email”)。点击“下一步”按钮,进入“身份验证和凭证存储”配置。
  如果暂时不想设置全局“用户名”和“Email”,可以选择窗口中的“现在不存储这些配置”跳过这一步骤,以后再设置“用户名”和“Email”。

在这里插入图片描述
  “身份验证和凭证存储”操作步骤,在窗口中任意选择一种SSH客户端,点击“生成PuTTY密钥对”按钮。

在这里插入图片描述
  在生成密钥对窗口中选择“RSA”选项,再点击“Generate”按钮,开始生成密钥对。

在这里插入图片描述
  生成密钥对时,鼠标必须在进度条下方空白区域不停地移动,否则进度会停止。

在这里插入图片描述

五、保存SSH密钥对

  密钥对生成完之后,分别点击“Save public key”和“Save private key”按钮,保存公钥和私钥。

在这里插入图片描述
建议:

  • 保存文件时,建议私钥和公钥的基本文件名保持一致,这样才清楚私钥文件和公钥文件的对应关系。
  • 私钥文件的扩展名是“.ppk”,公钥文件默认是没有扩展名,可以把公钥文件的扩展名定为“.pub”。

六、上传公钥到gitHub

  登录gitHub网站,点击右上角的图标,在弹出的菜单中选择“Settings”,进入“Personal settings”页面。

在这里插入图片描述
  在页面左侧的“Profile”菜单下点击“SSH and GPG keys”。

在这里插入图片描述
  点击页面右边的“New SSH key”按钮,进入新增“SSH Keys”页面。

在这里插入图片描述
  在页面中的“Title”栏目输入要导入的公钥Key的名字;打开之前保存的公钥文件(用记事本、notepad2、Notepad++、EditPlus等软件打开),复制里面全部内容,粘贴到页面上的“Key”输出框;最后点击“Add SSH key”按钮添加公钥。

在这里插入图片描述
说明:
  用户可能会在不同的场合使用不同的操作系统连接gitHub管理代码,因此用户需要添加多个公钥。“Title”可以认为是公钥的名称(或标识),用于方便用户区分不同的公钥。

七、创建gitHub版本库

  登录gitHub,点击左上角的“+”图标,选择菜单中的“New repository”,打开新建版本库页面。

在这里插入图片描述
  在新建版本库页面中分别填入“版本库名称”、“版本库介绍”,选择是否“公开”,是否使用“README”进行初始化,以及选择“.gitgnore”类型、“license”类型,最后点击“Create repository”按钮创建版本库。

在这里插入图片描述
说明:

  • README.md文件是版本库的自述文件,后缀名为md(md是markdown的缩写,markdown是一种编辑博客的语言)。他支持markdown语法,不过GitHub支持的语法在标准markdown语法的基础上做了修改,称为Github Flavored Markdown,简称GFM。
  • .gitignore文件可以忽略不想上传到服务器的文件(类似于svn的“忽略”)。很多语言都有一些特定的文件不需要上传到代码服务器(例如python的“.pyc”文件),所以gitHub已经按照语言的预置一些ignore的模板供用户选择,方便用户使用。

八、将私钥添加到TortoiseGit

  启动“开始 -> 程序 -> TortoiseGit -> Pageant”程序,打开“Pageant key list”窗口。

在这里插入图片描述
  点击“Add key”按钮,选择之前生成的私钥文件(“*.ppk”文件),将私钥导入到TortoiseGit。

在这里插入图片描述

九、检出版本库

右键点击本地的工程项目目录,在弹出的右键菜单中选择“Git 在这里创建版本库”。

在这里插入图片描述
  在弹出询问窗口中,根据实际情况确定是否选择“制作纯版本库”。如果需要对代码进行维护的,则不要选择该选项;如果不需要对代码进行维护(例如只是进行编译或review的),就可以选择该选项。

在这里插入图片描述
  下一步需要设置本地版本库访问gitHub版本库的配置。右键点击该目录,选择右键菜单下的“Git 设置…”,打开本地版本库设置窗口。

在这里插入图片描述
  在设置窗口的左侧选择“Git -> 远端”,在右侧分别输入远程服务器版本库的“名称”、“URL”、“推送URL”,选择Putty密码,最后点击“添加/保存”按钮保存配置。

在这里插入图片描述
说明:

  • 访问远程服务器版本配置的“名称”只是该配置的一个标识,用于区分其他的配置;
  • 该方法适合于gitHub服务器上的版本库是空的,本地已存在项目工程。

十、克隆版本库

  在本地磁盘中创建一个空目录作为本地版本库,右键点击该目录,选择右键菜单下的“Git 克隆…”,打开“Git 克隆”窗口。

在这里插入图片描述
  在“URL”中输出gitHub版本库的URL地址,选择“加载Putty密钥”,并选择要加载的Putty私钥文件(就是之前保存的“.ppk”文件),最后点击“确定”按钮克隆版本库。

在这里插入图片描述
说明:

  • 从gitHub克隆版本库时,本地版本库就自动关联gitHub版本库(自动保存了访问gitHub的配置),所以不需要再另外设置访问gitHub版本库的配置。
  • 该方法适合于本地没有版本库,从gitHub服务器上复制一个版本库到本地磁盘。

十一、从gitHub服务器获取代码

  右键点击本地版本库目录,选择右键菜单中的“TortoiseGit -> 获取”,打开“获取”窗口;

在这里插入图片描述
  选择要更新的分支(默认为“master”),点击“确定”按钮开始从远程服务器上下载代码。

在这里插入图片描述
  也可以这样操作:右键点击本地版本库目录,在右键菜单中选择“TortoiseGit -> 同步”,打开“同步”窗口;

在这里插入图片描述
  选择要更新的分支(默认为“master”),选择操作菜单中的“获取”选项开始从远程服务器上下载代码。

在这里插入图片描述

十二、推送代码到gitHub服务器

  右键点击本地版本库目录,在右键菜单中选择“TortoiseGit -> 推送”,打开“推送”窗口;

在这里插入图片描述
  在“推送”窗口中选择要推送的分支以及gitHub版本库的目标分支,然后点击“确定”按钮。

git-push2.png
  这时候会弹出输入登录gitHub的用户名和密码的对话框,输入登录gitHub的用户名和密码后就开始推送代码到gitHub版本库。

在这里插入图片描述
在这里插入图片描述
注意:

  • 如果本地版本库未保存登录gitHub的用户名和密码,就会弹出输入用户名和密码的对话框
  • 如果本地版本库新增的文件夹或文件,必须先“添加”到版本库,才能推送到gitHub版本库(跟SVN“加入”一样的)
      也可以这样操作:右键点击本地版本库目录,在右键菜单中选择“TortoiseGit -> 同步”,打开“同步”窗口;

在这里插入图片描述
  选择gitHub服务器上的目标分支(默认为“master”),选择操作菜单中的“推送”选项开始推送代码到远程服务器。

在这里插入图片描述

十三、提交代码到gitHub服务器

  右键点击本地版本库目录,在右键菜单中选择“Git提交 -> master”,打开“提交”窗口;

在这里插入图片描述
  “提交”窗口有一个“未受版本控制的文件”选项,选中该选项之后,就会将目录下“未加入”到版本库的文件显示在文件列表中。

在这里插入图片描述
  在“提交”窗口中即可以将“未受版本控制的文件”添加到版本库中,也可以推送代码到gitHub版本库。

十四、保存gitHub用户名和密码

  推送代码时,每次都需要输入gitHub的用户名和密码,造成了很大的不便。
需要保存gitHub用户名和密码的版本库目录,右键点击该目录,选择右键菜单中的“TortoiseGit -> 设置”,打开该版本库的设置窗口。
在这里插入图片描述
  在设置窗口的左侧选择“Git”,再点击右侧的“编辑本地.git/config”按钮,开始编辑本地的git配置文件。

在这里插入图片描述
  在配置文件中的“[credential]”配置段中添加“helper = store”配置,保存配置并关闭编辑窗口。

在这里插入图片描述
  下一次推送代码到gitHub服务器上时,再次输入用户名和密码之后就能被记住。

十五、解释说明

1. “拉取”和“获取”有什么不同

名称Git命令说明
拉取git pull从远程拉取最新版本到本地,自动合并
获取git fetch从远程获取最新版本到本地,但不会自动合并

2. "config source"中的local、global、system选项的关系和影响

  打开本地版本库的设置窗口,在设置窗口的左侧选择“Git”,右边可以见到“配置源”栏目,其中有“实际生效”、“此版本库”、“全局”、“系统”四个选项。

在这里插入图片描述

  1. Git有三种配置,分别为“此版本库(local)”、“全局(global)”、“系统(system)”,并且这三个选项优先度不同,优先度高的配置将覆盖优先度低的配置;
  2. “|”右边的三个选项分别对应Git的三种配置,这三个选项之间的“<<”符号表示其左侧的配置优先度高于右侧,右侧的配置将被左侧的配置覆盖掉;
  3. “|”左边的“实际生效(Effective)”表示当前版本库正在使用的“Git”配置,“实际生效(Effective)”的配置是“|”右边三个选项共同叠加后的结果;

十六、参考资料


原创声明: 本文为本人原创。欢迎转载分享,请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值