1、 环境安装

Git最新版下载地址:https://gitforwindows.org/

TortoiseGit,Git客户端,32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/

安装的方法,一直下一步就行,具体做法省略。

2、 配置

 1. 首先,请选定一个存放Git项目的目录,这样管理方便. 如: D:\test , 然后在资源管理器中打开.

 2. 在空白处点击鼠标右键,可以看到右键菜单中多了几个选项。选择 --> TortoiseGit --> Settings, 然后就可以看到配置界面,如下图所示:

  

 3. 选中General,,Language中选择中文.。不勾选自动升级的复选框,可能还需要指定 Git.exe 文件的路径,如

"D:\DevlopPrograms\Git\bin"。完成后,点击应用,确定关闭对话框(楼主比较习惯英文)。

4. 再次点击鼠标右键,可以看到弹出菜单中已经变成中文.。原来的 Settings 变成 设置,Clone 变为 克隆。

5. 配置右键菜单.。在设置对话框中,点选左边的"Context Menu",设置常用的右键菜单。楼主比较常用的是如下选项:

  

6.设置记住密码

  !!!!密码会明文保存在 C:\Users\Administrator\.git-credentials 这种文件中, 请小心使用.

  进入设置, 点选左边的Git标签.可以发现,右边可以配置用户的名字与Email信息. 如下图所示:

    

  因为当前还没有本地项目,所以 “Edit local .git/config(L)” 按钮处于灰色不可用状态,如果在某个本地Git项目下打开配置对话框,那么这个按钮就可用,然后就可以编辑此项目的一些属性。

   点击 “Edit global .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容:

     [credential]
helper = store

  完成后保存,关闭记事本,确定即可。

当你推送项目到GitHub等在线仓库时,会记住你输入的用户名和密码

3、 示例

  1. 克隆一个项目(楼主是从github上获取)

    在工作目录下,如D:\test,空白处右键,选择: Git clone,则会弹出克隆对话框,如下图所示:

    

    在URL中填写项目的访问地址,如:https://github.com/xuwenjin/xwj_repo.git

    根据项目大小,时间会不一样. 克隆完成后,如果没有错误,会给出提示:

    

    进入克隆下的文件夹中,如D:\test\xwj_repo,空白处右键,弹出如下菜单:

    

    其中,Git Pull是从远端拉取最新的代码,Git Fetch是从远端拉取最新的分支,Git Push是将本地仓库的代码提交到远端

    Git Commit ->”master”,将本地代码提交到本地版本库(默认的分支是master)。

   2. 将本地代码提交到本地仓库

    创建一个文件,如test1.txt, 然后提交(commit)到本地版本库(这个操作可以在离线状态操作)

    

    2.1 选择Git Commit ->”master”,弹出下图:

      

    2.2 填写提交备注message(不填写不允许提交),勾选需要提交的文件,点击commit,即可将本地代码提交到本地版本库。

     出现如下弹框,表示提交成功

      

      其中,提交时,会发现上图中的Status有几种值:

         Unknown:新增的文件,也不在版本库

         Added:新增的文件,在版本库

         Modified:文件修改,在版本库

          Missing:文件被删除,在版本库

   3. 查看日志

    在日志中,可以通过日期、文件名、提交人等等过滤查询。

      

    3.1 通过日志,可以很直观的看到提交相关记录。比如提交人、提交时间、提交了哪些文件等等。这些信息便于以后进行文件对比或

者版本回滚(后面将会介绍)点击test1.txt,可以看到本次提交,对test1文件进行了哪些操作:

      

     至于怎么去看这些颜色表示什么意思,可以去百度一下,这里不做介绍

     4.  将代码推送(push)到远端。这里是github

     右键空白处,选择Git Push,出现如下弹框:

      

     这里可以看到是本地哪个版本库提交到远端。至此,文件的整个提交过程就完成了

 5.  分支

  发现问题:你代码写了很多,运行OK;但是突然想加个新功能进去,这个功能你也不知道能否正常运行,而且修改过程中,除了新加代码和文件进去,还会修改以前的代码。要是万一失败,修改回来也是一种很麻烦的事情。这种时候很多人就用备份方式。来看看git是怎么优雅的处理这个问题的。

  git的处理方式:当你想加一个新功能进去的时候,你可以新建一个分支,例如名字叫newbranch,然后在分支中把新功能加上去,如果OK,将代码合并到master分支上,如果新功能失败,切换回master分支上来,在newbranch写的代码,又全看不到了。

   5.1 新建一个分支,右键-->TortoiseGit-->Create Branch

      

    右键,你会发现当前的分支为你新建的newbranch分支了

      

  5.2 接下来,就开心新增你的功能,比如我们在test1.txt文件中新增一行文字,同时新增一个文件test2.txt

    

  5.3 提交我们的代码到newbranch分支的本地仓库,参考之前的2.2

  5.4 突然发现该功能有漏洞,想回到之前的master分支,怎么办呢?

    右键-->TortoiseGit-->Switch/Checkout,选择master即可。如下图:

    

  5.5 空白处右键,会发现已经切换到master分支了。此时发现test2.txt并没有带过来,再来看看test1.txt文件是否回到了从前呢?

    

    结果显示,无论是修改还是添加,都没有影响master分支上的文件,这就是分支的作用。

 6. 分支合并

    如果此时发现newbranch分支上的功能是有效的,希望能合并到master,又该怎么操作呢?

    PS:在合并分支前,一定要确认newbranch分支上的代码全部提交到本地版本库了

    右键-->TortoiseGit-->Merge,选择被合并的分支,即newbranch。如下图

      

    6.1 点击Ok按钮,会出现下图弹框。弹框中会列出被合并的文件。如下图所示:

      

    6.2 我们发现test2.txt文件被合并过来了,打开test1文件,发现内容正好是在newbranch分支上修改的内容。

     至此,分支合并完成

  7.  拉取(pull)远端最新的修改内容

    此时,我们团队还有另一个成员B,他需要获取我最新修改的内容,该怎么操作呢?

    首先B切换到跟我同一分支,然后右键-->Git Pull,点击确认即可,就可将我修改的内容拉取到他的本地版本库

  8. 版本回滚

    8.1先查看日志,确定想回滚到哪个版本

      

    8.2 比如想回滚到创建test1.txt文件前,则点击该步操作所对应的message之前的那一个日志(add spring demo)

      然后右键-->Reset “master” to this…,表示将当前master分支上的文件回滚到这个版本,如下图

      

    8.3 选择之后,弹出如下弹框,在Reset Type下选择Hard:Reset working…..,点击Ok即可

      

  会发现,此时test1.txt跟test2.txt两个文件都消失了,如下图:

      

  9. 解决冲突(略)

Git客户端(TortoiseGit)基本使用详解的更多相关文章

  1. Git学习系列之Windows上安装Git详细步骤(图文详解)

    前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...

  2. Ubuntu下Git从搭建到使用详解

    Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...

  3. git概念及工作流程详解

    git概念及工作流程详解 既然我们已经把gitlab安装完毕[当然这是非必要条件],我们就可以使用git来管理自己的项目了,前文也多多少少提及到git的基本命令,本文就先简单对比下SVN与git的区别 ...

  4. Git客户端TortoiseGit下载、安装及汉化

    本篇经验将和大家介绍Git客户端TortoiseGit下载.安装及汉化的方法,希望对大家的工作和学习有所帮助! TortoiseGit下载和安装   1 TortoiseGit是Windows下最好用 ...

  5. Git客户端TortoiseGit(Windows系统)的使用方法

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.8.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...

  6. TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文)

    不多说,直接上干货! TortoiseGit的安装准备 首先你得安装windows下的msysgit. 安装版本控制器客户端TortoiseGit [不习惯英文的朋友,也可以下个语言包]. 下载地址: ...

  7. 【Git版本控制】git中reset命令的详解

    git reset 命令详解(一) git reset 命令详解(二) reset命令的语法:git reset [选项]  [版本号]  [要回退的目标] 选项:--soft仅将head指针指向历史 ...

  8. 【经验之谈】Git使用之TortoiseGit配置VS详解

    前言 上一篇<[经验之谈]Git使用之Windows环境下配置>: 安装 配置和使用 后记 关于vs中使用git网上的教程大家也可以找到,我当时配置的时候也是按照网上找的教程一步一步来的, ...

  9. (转)【经验之谈】Git使用之TortoiseGit配置VS详解

    原文地址:http://www.cnblogs.com/xishuai/p/3590705.html 前言 上一篇<[经验之谈]Git使用之Windows环境下配置>: 安装 配置和使用 ...

随机推荐

  1. 其他综合-内网下Yum仓库搭建配置

    内网下Yum仓库搭建配置 1.实验环境 虚拟机环境: VMware 12 版本虚拟机 网络环境: 内网 IP 段:172.16.1.0 外网 iP 段(模拟):10.0.0.0 实验基础:(能够上网, ...

  2. OO第一次单元总结

    第一次总结性博客 16071070 陈泽寅 2019.3.23 一.第一单元所学总结 首先先来总结一下第一单元我所学到的知识以及所感所悟.第一个单元,是我第一次接触JAVA语言,并且再使用了几次之后, ...

  3. goroutine的意义与实现

    goroutine的意义与实现 goroutine存在的意义 goroutine是用于实现GO的并发的,而不是并行.此处的并发指的是一套管理.调度.执行goroutine的过程. 并行的性能更高,可以 ...

  4. python8--文件操作 with。。。open语法

    复习   一.类型转换 1.数字类型:int() | bool() | float()  2.str与int:int('10') | int('-10') | int('0') | float('-. ...

  5. js重点--this关键字

    推荐博客:https://www.cnblogs.com/huaxili/p/5407559.html this是JavaScript的一个关键字,表示的不是对象本身,而是指被调用的上文. 主要用于以 ...

  6. [源码分析]AbstractStringBuilder

    [源码分析]AbstractStringBuilder Java中, AbstractStringBuilder是 StringBuilder 和 StringBuffer 的父类. 所以了解Stri ...

  7. docker 基础知识分享ppt

    给团队做的docker基础分享ppt, 见下面的附件. https://files.cnblogs.com/files/harrychinese/docker_intro.pptx

  8. 3DMAX中坐标解析

    World:世界坐标系,又称世界空间.位于各视口左下角的图标,显示了世界坐标系的方向,其坐标原点位于视口中心.该坐标系永远不会变化. Screen:屏幕坐标系,此时将使用活动视口屏幕作为坐标系.在活动 ...

  9. java里getter和setter的作用(转载)

    [java]类中使用getter和setter的优势 http://www.importnew.com/9716.html java有三大特性:封装,继承还有多态. 而今天,我来讲一下其中最重要的特性 ...

  10. java HttpClient设置代理

    HttpClient client = new HttpClient(); UsernamePasswordCredentials creds = new UsernamePasswordCreden ...