这篇文档的目的是:让使用Git更轻松。

看完这篇文档你能做到的是:

1、简单的用Git管理项目。

2、怎样既要开发又要处理发布出去的版本bug情况。

SourceTree是一个免费的Git图形化管理工具,mac下也可以安装。

下载地址:https://www.sourcetreeapp.com/

参考:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

http://www.ruanyifeng.com/blog/2012/07/git.html

基本功能

一 克隆Clone

二 提交Commit和推送Push

三 拉取pull和获取fetch

四 版本回退reset

五 检出checkout

六 标签Tag

一 从远程库克隆Clone

Clone就是将远程库的代码拷贝到本地。

填写远程和本地项目路径,点击“克隆“。这样就会将服务器上项目代码克隆到本地了。

  1.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false clone --recursive https://git.coding.net/gamedaybyday/HelloGit.git D:\Git\HelloGit
  2.  
    Cloning into 'D:\Git\HelloGit'...

二 提交Commit和推送Push

commit将工作空间修改提交到本地库。

push将本地库修改提交到远程库。

新建一个test.txt来测试,任意改点什么。在文件状态处可查看,红色为删除,蓝色为增加部分。

将修改后文件由未暂存文件,勾选到已暂存文件。

选择提交

添加修改日志。

这里如果勾选“立即推送变更”则会同时执行commit和push。

git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\gzy\AppData\Local\Temp\ofkmvj0p.tft

这时,修改的代码提交到了本地仓库。sourcetree会提示有修改代码尚未推送到远程库。

选择推送。将本地仓库推送push到远程库。

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master

三 拉取pull和获取fetch

pull 从远程拉取最新版本 到本地  自动合并 merge

fetch   从远程获取最新版本 到本地   不会自动合并 merge

虚线表示拉取到本地仓库

实现表示拉取到本地仓库,并合并到工作空间

  1.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
  2.  
    From https://git.coding.net/gamedaybyday/HelloGit
  3.  
    9664a7c..42c8f2e master -> origin/master
  4.  
     
  5.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
  6.  
     
  7.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false pull origin master
  8.  
    From https://git.coding.net/gamedaybyday/HelloGit
  9.  
    * branch master -> FETCH_HEAD

假如有冲突,使用解决冲突。

四 版本回退reset

reset 将当前版本回退到选定的版本

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q --mixed 657cf95e9925724ea54f81c2dc03f09ab025d571

五 检出checkout

checkout 创建分支,切换分支。

checkout时,如果只有当前分支,则会新建一个分支。

如果是两个分支间checkout,则会切换分支。

将项目从最新checkout到modify11:46,这时HEAD指向到modify11:46这个版本。

  1.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false checkout 657cf95e9925724ea54f81c2dc03f09ab025d571
  2.  
    Note: checking out '657cf95e9925724ea54f81c2dc03f09ab025d571'.

当修改这个checkout的分支时。可以看到从modify11:46checkout后,修改的提交会忽略到modify11:47以后的提交。

相当于checkout命令 创建了新分支,并切换到了这个分支。

但是这个分支是不存在的。要新建一个分支。

六 标签Tag

tag 就是给这个版本打个标记,方便用于识别查看等操作。

git -c diff.mnemonicprefix=false -c core.quotepath=false tag -a -m "" tag3

操作详解

1、从Git服务器上获取项目

2、提交我的修改项目

3、发布新版本

4、修复bug

分支管理

  • Master 远程主分支
  • Dev 远程开发分支,主要用来进行协同开发
  • My 本地主分支
  • Bug branch bug修改分支
  • Feature branch 功能分支 命名格式:my-feature-login 本地主分支名 + feature + 功能名称

理论上本地功能分支和bug分支都是要先合并到本地主分支,然后再合并到本地dev分支,确定没有冲突后,推送到远程分支。

add---

配置忽略文件

利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理。
.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了
使用sourcetree添加忽略文件的方法:
正常情况下,管理员创建项目后需要直接将忽略文件创建好。创建方法如图:

25.png

按照如上步骤操作即可编辑冲突文件。
冲突文件规则:
忽略文件夹(如:bin、obj):
obj/
bin/
某目录下的所有.txt文件,
obj/*.txt
开发的过程中可能遇到一些忽略文件中未添加的文件,此时需要开发者自行添加忽略文件,添加方法如下:
之前已经介绍过未进行版本控制的或者受版本控制的文件,在sourcetree的“文件状态” 标签中查找,如图所示:

clipboard.png

鼠标右键要忽略的文件,点击“忽略”,选择忽略的模式,即可将文件进行忽略,如图所示:

SourceTree使用图解-转的更多相关文章

  1. SourceTree使用图解

    看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. SourceTree是一个免费的Git图形化管理工具,mac下也可以安装. 下载地址:ht ...

  2. 用SourceTree轻巧Git项目图解

    用SourceTree轻松Git项目图解 这篇文档的目的是:让使用Git更轻松. 看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. Sour ...

  3. sourcetree和gitlab配置图解

    一.前期准备安装 1.git客户端(1.产生gitlab服务端和本地git相互传输时所需要校验的私钥和公钥    2.直接在Idea中使用git提交和push代码,当然也可以用sourcetree提交 ...

  4. 用SourceTree轻松Git项目图解

    这篇文档的目的是:让使用Git更轻松. 看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. SourceTree是一个免费的Git图形化管理工 ...

  5. 图解CSS3制作圆环形进度条的实例教程

    圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...

  6. 《图解HTTP》读书笔记

    目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...

  7. [PostgreSQL] 图解安装 PostgreSQL

    图解安装 PostgreSQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5894462.html 序 园友的一篇<Asp.Net Cor ...

  8. 图解ios程序生命周期

    图解ios程序生命周期 应用程序启动后状态有Active.Inactive.Background.Suspended.Not running这5种状态,几种状态的转换见下图: 在AppDelegate ...

  9. 关于如何使用sourcetree将本地项目提交到远端github总结?

    使用sourcetree将本地项目提交到github里,目前来说还是很流行的,我也是听说好玩,所以来琢磨了一下,从环境搭建到配置好,差不多用了一下午加一晚上的时间,有点虐心,好吧,废话不多说,介绍一下 ...

随机推荐

  1. redis5集群搭建步骤

    通常情况下为了redis的高可用,我们一般不会使用redis的单实例去运行,一般都会搭建一个 redis 的集群去运行.此处记录一下 redis5 以后 cluster 集群的搭建. 一.需求 red ...

  2. java监控JVM的内存使用情况等

    以下的程序监控参数的代码,有些是从网络上获取的,此处进行一个记录是为了以后如果要用到方便记录. 1.引入jar包,为了获取一些cpu的使用率等信息 <dependency> <gro ...

  3. [CPP] 类的内存布局

    本文可以解决下面 3 个问题: 以不同方式继承之后,类的成员变量是如何分布的? 虚函数表及虚函数表指针,在可执行文件中的位置? 单一继承.多继承.虚拟继承之后,类的虚函数表的内容是如何变化的? 在这里 ...

  4. FastAPI 学习之路(五十九)封装统一的json返回处理工具

    这之前的接口,我们返回的格式都是每个接口异常返回的数据格式都会不一样,我们处理起来没有那么方便,我们可以封装一个统一的json处理. 那么我们看下如何来实现呢 from fastapi import ...

  5. Spring:所有依赖项注入的类型

    一.前言 Spring文档严格只定义了两种类型的注入:构造函数注入和setter注入.但是,还有更多的方式来注入依赖项,例如字段注入,查找方法注入.下面主要是讲使用Spring框架时可能发生的类型. ...

  6. vim实用插件

    转载:Vim 实用插件推荐(2017) - 知乎 (zhihu.com) 1.插件管理器 ----------------------------------------- Vundle.vim - ...

  7. Centos 7 编译安装llvm 8.0.0

    参考连接:https://www.cnblogs.com/BinBinStory/p/7499527.html https://blog.csdn.net/llwy1428/article/detai ...

  8. 区块链开发学习第三章:私有链上部署helloBlockchain简单合约

    前面讲了部署私有链以及新增账户,现在进行到了部署合约了,此操作真是踩了无数无数无数的坑,到写文章为止确实是已经部署好了,但是还有些坑是还没有解决的! 一.Solidity编译器 开始的时候用的http ...

  9. RedHat 7.0 Linux 下划分区,分区加密,配额,逻辑卷管理

    1:如何划分区: 1:明确分区的对象:xxx :fdisk /dev/xxx 2:增加一个分区:n:选择主分区或者扩展分区,"p" or "e" :默认地方开始 ...

  10. 【java+selenium3】线程休眠方法 (六)

    一.线程休眠的方法   Thread -- sleep 调用方式: Thread.sleep(long millis) 建议:不推荐使用此方式来等待,因为元素的实际渲染时间未知,长时间的等待则浪费的时 ...