在工作中,为了提高git使用效率,更多会采用git图形化工具来操作git。(特殊情况下才使用git命令行操作git) git自带的图形化工具界面不够友好,就选择第三方git图形化工具,市面上第三方git工具很多,唯有Tortoisegit比较实用,优点免费开源,有各种语言安装包,易于使用,缺点是只能运行windows平台。接下来总结一下使用Tortoisegit来进行项目的版本控制。

1.Tortoisegit设置账号密码

配置自己账号与邮件

删除自己账号凭证。

PS:凭证类型有几种,这里只举“管理器-当前windows用户”为例。

打开windows的“控制面板”。

找到“用户账号”点击。

找到“普通凭证”,点击“从保存库删除”。

清除账号之后,使用git提交代码会再次输入账号密码。

 2.Tortoisegit快速创建本地仓库

创建成功之后就会目录就会有.git文件。

如果没有,是因为git目录隐藏的,请设置一下文件夹选项,显示隐藏的文件。

.git文件目录作用是记录我们在仓库进行了哪些操作,比如增删改文件。

2.Tortoisegit提交代码。

步骤一:提交代码到本地仓库的master分支。

然后填写"日志信息",再点击“确定”即可。

步骤二:将本地仓库的master分支并推送到远程仓库的master分支。

再点击"确定"就好。

PS:当然也可以设置成“提交并推送”,用svn的工作模式来使用git。

切记提交代码的步骤,先提交,后推送。

3.Tortoisegit快速创建gitnore忽略文件并添加。

查看.gitignore文件,忽略文件路径就会写入。

4.Tortoisegi查看提交日志。

这里可以查看所有的记录

比较某个文件版本之间差异。

查看具体文件之间内容差异。

5.Tortoisegi查看追溯。 

PS:相对与查看日志,追溯比较清楚了解文件改动。

6.Tortoisegi解决冲突问题。

冲突产生根本原因:不同分支修改同一个文件名文件,当合并分支时产生冲突。

情景:同一主分支(指一个共同祖先分支,假设是master分支上的P节点)。

开发者A基于master分支上的P节点,在自己的分支上创建了一个文件test.txt, 里面写了abc,然后提交了并推送到远程分支。

此时master分支上的P节点已经指向开发者A提交的节点上(假设是master分支上的P2节点)。

开发者B基于master分支上的P节点,在自己的分支上也创建了一个文件test.txt,里面写了bdc,当开发者B提交与推送之后,远程合并master分支就会引起冲突。

由于开发者B是基于master分支上的P节点,而不是远程分支基于master分支上的P2节点,所以git无法确定哪一个分支推送到祖先分支上是最新的,提示错误。

解决方法: 找到并选择冲突文件。

进入冲突解决面板。

手动解决冲突。

保存之后,冲突就会解决了。

7.Tortoisegi还原文件。

选中需要还原文件。

8.Tortoisegi清理文件

删除一些不必要的文件。

8.Tortoisegi创建标签。

作用:这个标签就是类似于自己定义的软件版本。

填写版本号即可

9.Tortoisegi创建分支。

作用:方便管理软件开发进度,利于项目迭代,每个开发者不相互影响,保证主项目完整性。

创建分支,填写分支名称。一般选基于master分支即可。

10.Tortoisegi管理分支。

查看当前分支状态。

删除某个分支。

切换某个分支。

选择某个分支即可。

 11.Tortoisegi远程分支撤销提交。

方法一:强制覆盖远程分支。

本地分支

远程分支

把本地的当前分支恢复到目标版本。

接着强制推送。

远程分支提交会撤销。

12.Tortoisegi恢复删除文件。

假设本地工作区有test文件夹,里面有a.zip文件。

误删除工作区中的a.zip,但没有git commit。

想恢复a.zip这个文件。

方法一:从回收站找回。(前提是回收站里面的文件没有删除或者没有同名同类型文件的)

方法二:把当前项目全部删除,然后重新从远程仓库git pull获取完整项目。(前提是没有需要git commit)

方法三:直接从本地仓库git checkout。(强烈推荐,方便快捷)

勾选“覆盖工作树变更”。

误删的文件恢复了。

13.Tortoisegit配置SSH进行身份验证。

使用Tortoisegit自带的软件PuTTYgen生成SSH密钥与公钥。

PS:生成公钥与密钥时间相当耗时间,请耐心等待。

SSH公钥是配置在git服务器上。

1.使用git第三方代码托管平台,只需要复制SSH公钥文本内容,然后粘贴到第三方代码托管平台对应的SSH设置即可。

2.使用自建的git服务器,需要导入*.pub公钥文件。

SSH密钥是配置在git客户端上。

Tortoisegit配置SSH客户端。

Tortoisegit配置SSH密钥。

配置当前项目的SSH密钥。

PS:注意存放好ssh密钥文件。假如丢失了SSH密钥文件,只能再重新生成ssh公钥与密钥。

 

总结:以上Tortoisegit使用方法足以应对工作上的Git基本使用问题,如需了解更多高级教程,请移步到Git官网或者Tortoisegit官网。

Git上手:使用Tortoisegit操作Git的更多相关文章

  1. Git撤销&回滚操作(git reset 和 get revert)

    转自:https://blog.csdn.net/asoar/article/details/84111841 git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 ...

  2. git的学习笔记(一):git本地操作

    1.Git介绍 Git是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发. Git ...

  3. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  4. 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC

    非常感谢OSC提供了这么好的一个国内的免费的git托管平台.这里简单说下TortoiseGit操作的流程.很傻瓜了 首先你要准备两个软件,分别是msysgit和tortoisegit,乌龟还可以在下载 ...

  5. [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

  6. 分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是GitStack是打包了相对较稳定的Git原生版本的, ...

  7. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  8. git一些常用的操作(转载)

    译者序:这是一篇给像我这样的新手或者是熟悉图形工具的老鸟看的.仅作为快速入门的教程. git 现在的火爆程度非同一般,它被广泛地用在大型开源项目,团队开发,以及独立开发者,甚至学生之中. 初学者非常容 ...

  9. git中通过实际操作来了解常用命令

    基本的6个命令 常用的就下面6个命令,但是详细的可能有上百个命令. 还需要特别了解git的几个名词,workspace:工作区,Index/Stage:暂存区,Respository:本地仓库,Rem ...

随机推荐

  1. 使用ABAP代码创建S/4HANA里的Sales Order

    下图是使用ABAP代码创建的S/4HANA的Sales Order的截图: 其中红色区域的值是我代码里硬编码的,而蓝色是函数SD_SALESDOCUMENT_CREATE自己创建的. 来看下代码: D ...

  2. yum 源搭建

    RHEL系统部署网络yum源 配置网络yum源 RHEL系统本身光盘做成的yum源所提供的软件包有限,在实际使用过程中经常会出现缺包的现象,本文中以CentOS源作为替代,CentOS的软件包和RHE ...

  3. 1018: Give me the answer

    1018: Give me the answer 时间限制: 1 Sec  内存限制: 32 MB提交: 55  解决: 15[提交][状态][讨论版][命题人:外部导入] 题目描述 Farmer J ...

  4. Docker中的三个基本概念容器(container)、镜像(image)和仓库(registry)之间有什么关系?

    Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷.环境变量.用户等).镜像不包含任何动态数据,其内容在构建之 ...

  5. 1.初识Quartz

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/QuartzDemo.git 前言: 接触一个新事物的开始,我们都会产生一些疑问: Quartz是什 ...

  6. Linux平台下卸载MySQL的方法

    转载自: https://www.cnblogs.com/taomylife/p/7234925.html Linux平台下卸载MySQL的方法: MySQL的安装主要有三种方式:二进制包安装.RPM ...

  7. Linux文件系统与目录结构

    在Linux系统中,目录被组织成一个:单根倒置树结构,文件系统从根目录开始,用/来表示.文件名称区分大小写( 大小写敏感还需要看具体的文件系统格式 ),以.开头的为隐藏文件,路径用/来进行分割(win ...

  8. 精读《setState 做了什么》

    1 引言 setState 是 React 框架最常用的命令,它是用来更新状态的,这也是 React 框架划时代的功能. 但是 setState 函数是 react 包导出的,他们又是如何与 reac ...

  9. git push 时 fatal: Unable to create 'D:/phpStudy/WWW/green_tree/.git/index.lock': File exists.解决办法

    找到自己的项目,找到.git文件夹,进去把目标文件删除即可 或者使用rm -rf 命令(如果没有那个文件件或者文件,将隐藏文件打开就可以看到了)

  10. php扩展开发-面向对象

    在zval变量里IS_OBJECT类型使用zend_object_value来保存变量的,我们看一下他的具体结果. typedef struct _zend_object_value { zend_o ...