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. Vue.js 2.x笔记:安装与起步(1)

    1. 环境准备 Vue是一套用于构建用户界面的渐进式框架,设计为可以自底向上逐层应用.Vue 的核心库只关注视图层. 安装Node.js,下载:https://nodejs.org/ 查看安装: $ ...

  2. 怎么写自己的CMakeLists.txt

    一. 为什么要使用cmake 理论上说,任意一个C++程序都可以用g++来编译.但当程序规模越来越大时,一个工程可能有许多个文件夹和源文件,这时输入的编译命令将越来越长.通常一个小型C++项目可能含有 ...

  3. 深入理解JVM(7)——线程安全和锁优化

    Java中的线程安全 按照线程安全的“安全程度”由强至弱来排序,可以将Java语中各种操作共享的数据分为以下5类:不可变. 绝对线程安全. 相对线程安全. 线程兼容和线程对立. 1.不可变 不变的对象 ...

  4. 谈谈JavaScript中继承方式

    聊一聊js中的继承 一.简单继承---使用原型赋值的方式继承,将实例化的对象,赋值给子级的原型 父级构造函数 function Parent(param) { this.name = 'parent' ...

  5. PHP开发要点与技巧总结(二)

    1 == 'a'.0 == 'a'.97 == '97a'?这里边牵涉到的是默认数据类型转换. // 无输出 if ('0') { echo "'0' is true\n"; } ...

  6. Java 集合系列之二:List基本操作

    1. Java List 1. Java List重要观点 Java List接口是Java Collections Framework的成员. List允许您添加重复元素. List允许您拥有'nu ...

  7. Tomcat系列(9)——Tomcat 6方面调优(内存,线程,IO,压缩,缓存,集群)

    核心部分 内存 线程 IO 压缩 缓存 集群 一.JVM内存优化 Tomcat内存优化,包括内存大小,垃圾回收策略. Windows 下的catalina.bat,Linux 下的catalina.s ...

  8. mysql之binlog

    binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日 ...

  9. sql连接查询中的分类

    sql连接查询中的分类 1.内连接(结果不保留表中未对应的数据) 1.1等值连接:关联条件的运算符是用等号来连接的. 1.2不等值连接:连接条件是出等号之外的操作符 1.3自然连接:特殊的等值连接,在 ...

  10. SimMechanics/Second Generation倒立摆模型建立及初步仿真学习

    笔者最近捣鼓Simulink,发现MATLAB的仿真模块真的十分强大,以前只是在命令窗口敲点代码,直到不小心敲入simulink,就一发不可收拾.话说simulink的模块化建模确实方便,只要拖拽框框 ...