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. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

  2. Docker 入门篇

    Docker 简介 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. 更高效的利用系统资源 更快速的启动时间 一致的运行环境 持续交付和部署 更轻松的迁移 更轻松的维护和 ...

  3. html css笔记zht

    第3章 Img标签 路径问题 绝对路径:从盘符(C:\)出发的路径 (C:\Users\......) linux(绝对路径以 / 开头) 相对路径:( ./ 当前文件所在的目录)( ../上一级目录 ...

  4. 0412ooday01.txt=============对象和类(上)

    对象和类(上) 面向对象程序设计:面向过程的结构化程序设计.什么是抽象数据类型.什么是类 定义一个类:定义类的成员变量.定义类的方法 创建并使用对象:使用new关键字创建对象.引用类型变量.访问对象的 ...

  5. mockplus 原型设计工具

    国产原型工具 http://www.mockplus.cn, 该工具功能很棒. 每次打开软件都需先登陆, 好在项目文件是可以保存到本地, 可以注册为免费版/个人版/团队版/企业版. 我是免费账号, 功 ...

  6. 爬虫框架Scrapy 之(二) --- scrapy文件

    框架简介 核心部分: 引擎.下载器.调度器 自定义部分: spider(自己建的爬虫文件).管道(pipelines.py) 目录结构 firstSpider firstSpider spiders ...

  7. Linux下批量杀掉 包含某个关键字的 程序进程

    有时候因为一些情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的 ...

  8. 【AGC 005F】Many Easy Problems

    Description One day, Takahashi was given the following problem from Aoki: You are given a tree with ...

  9. 将驱动编译进Linux内核

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  10. es6常用语法学习笔记

    1.let和const的常规使用 let声明的变量不存在预解析 let声明的变量不允许重复使用(在同一个作用域内) ES6引入了块级作用域{},块内部定义的变量,在外部是不可以访问到的 使用let在f ...