删除分支

新建一个分支 A 后,要想把 A 分支删除掉,只需跳到另一个分支上去,选中 A 分支然后右击,在弹出的菜单栏中选中 【删除 A 分支】即可;

在分支下建一个文件夹

左上的然后弹出选框,在【新分支】处建一个 Develop 的文件夹,在 Delvelop 文件夹下新建一个 feature 分支可以在【新分支】的栏目输入:Develop/feature ,即可;

合并后的恢复

例如:你在当前的 A 分支的 a 节点,但是你鼠标放在 B 分支的一个 b 节点上,在 B 分支的 b 节点上右击,选中【合并】,会将 B 分支节点上的内容合并到 A 分支上,形成一个在 A 分支上的新节点 c。

当你误合并时,选中 a,b,c中的任意一个节点,选中导航栏中的【仓库】->【重置】,即可恢复原样,像没发生一样。

将 xx 重置到这次提交

master分支上有 a->b->c->d->e 5 个节点,现再在 e 节点,鼠标放在 d 节点上,右击鼠标出现弹框选中【将 master 重置到这次提交】,会出现在 d 提交的基础上内容 加上现在变化的内容,代码不会改变。就算你提交到 e 节点,但是鼠标放在 a 节点,右击鼠标出现弹框选中【将 master 重置到这次提交】,也会将你的分支回到 a 节点上,但是代码不变。

注意:如果这时你点击导航栏亩的【仓库】->【重置】会把你写的代码全清除掉,只有你当前提交的部分,慎重啊!

提交回滚

有 "master 分支->1 master 分支->2 master" 分支3个节点,提交后变为 "master 分支->1 master 分支->2 master 分支->3 master分支" 分支 4个节点,选中 "2 master 分支" 节点,将鼠标放在 "3 master" 节点然后右击选中【提交回滚】,会出现这种警告:

 HEAD detached at 464855f
nothing to commit, working directory clean

意思是:

分离主管464855 f
没有什么可提交的,工作目录是干净的

不会改变。

开始状态:

所以鼠标选中 ”3 master分支" 节点,然后右击选中【提交回滚】,代码会回到 "2 master 分支" 提交的状态,变为:

也就是 “2 master 分支” 提交代码的状态。

然后写一段与 “3 master分支” 一样的代码,再次命名分支名为 “3 master分支”,变为:

代码rebase(变基)

git rebase用于把一个分支的修改合并到当前分支.

假设你现在在 master 分支上,已有 a, b, c, d, e, f 几个节点,在 b 节点新建一个分支为 mywork:

 $ git checkout -b branch

在 branch 分支做两次提交:

 $ git add .

 $ git commit -m "1 代码 branch"

 $ git add .

 $ git commit -m "2 代码 branch"

如果你想让"master"分支历史看起来像没有经过任何合并一样,你也许可以用 git rebase,切换到 master:

//这些命令会把你的"branch"分支里的每个提交(commit)取消掉,并且把它们临时保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把"branch"分支更新 为最新的"master"分支,最后把保存的这些补丁应用到"master"分支上。

 $ git checkout master

 $ git rebase branch

这时会有冲突,解决冲突后使用:

 $ git rebase --continue

然后提交,中间会再次出现冲突,再次使用:

 $ git rebase --continue

就好了!

若中途弃 rebase,可以使用:

$ git rebase --aborkt

另外,我们在使用git pull命令的时候,可以使用--rebase参数,即git pull --rebase,这里表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把本地当前分支更新 为最新的"origin"分支,最后把保存的这些补丁应用到本地当前分支上。

参见资料:rebase简介

多次提交的合并

1.先查看有多少次提交:

$ git log

可以看到下面有4个:

若对 4 个进行提交合并,输入:

 $ git rebase -i head~

然后会弹出一个 vim 编辑界面,会看到编辑界面分为两部分:

pick xxxx    XXXX

pick xxxx    XXXX

pick xxxx    XXXX

pick xxxx    XXXX

# . . . . .  . . .

# . . . . .  . . .

.

.

.

.

# . . . . .  . . .

带 # 的都是注释部分,把要合并的改为 【pick】改为 【s】或者 【squash】即可,然后点击 esc,再输入 :wq 即可,会跳入另一 vim 编辑界面,修改其中的提交 message,其中第一个提交 message 回作为多次提交合并后的新的提交 message,如:

 第一个message为:1.0 创建 master,//下面不修改也行

 第2个message为:

 第3个message为:

 第4个message为:

 第5个message为:

然后,输入::wq ,退出编辑界面即可,会看到一个叫 【1.0 创建 master】的分支节点,只剩它一个了。

撤销提交

参见资料:撤销提交

iOS文件的忽略

如果想忽略某一个文件,可以设置到SourceTree中你提交文件的那个右上角:【设置】->【高级】->【编辑】,然后在里面输入你想要忽略的文件。

  .xcodeproj属于包文件,它内部的很多东西是不能提交的,包括:project.xcworkspace和xcuserdata,它们是与用户有关的。

  

CocosPods 产生的文件: 框架管理工具会生成Podfile、Podfile.lock、Pods文件夹和.xcworkspace四个。其中:

以上除Podfile外,其它三个文件都不是必须提交的。
"其中Pods目录没必要提交,里面的文件都是根据Podfile描述的依赖库的配置信息下载和生成的文件。
因为CocoaPods支持语义化版本号,所以需要Podfile.lock文件记住当前使用的版本,当然这个文件也不是必须。不过提交这个的好处是,可以提醒团队里面的人,依赖库版本已经更新”。

忽略文件在SourceTree分为两种,一种是针对于某一个仓库,另一种针对于所有的仓库,最开始没注意经常提交以后在下载出错,后来用半天时间终于搞清楚了。

针对某一个仓库忽略设置

可以在这里设置忽略文件,也可以不设置,看你喜好了!

针对所有仓库文件设置

第一步:

第二步:

第三步:

这样就好了,不用针对一个一个仓库进e行设置!若你喜欢受虐,可以单个仓库设置,

SourceTree 使用的更多相关文章

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

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

  2. [Tool] SourceTree操作中遇到错误(Filename too long)的解决方案

    [Tool] SourceTree操作中遇到错误(Filename too long)的解决方案 问题情景 使用SourceTree,可以方便开发人员使用图形化接口的Git指令来管理原始码.但是在Wi ...

  3. SourceTree安装教程和GitLab配置详解

    一.安装Git 链接: http://pan.baidu.com/s/1mh7rICK 密码: 48dj 二.安装SourceTree 链接: http://pan.baidu.com/s/1skWk ...

  4. SourceTree 免登录跳过初始设置 - 转

    转自:http://www.cnblogs.com/xiofee/p/sourcetree_pass_initialization_setup.html 在SourceTree的配置目录新建(或修改) ...

  5. git&sourcetree安装及在IntelliIJ下拉取项目基础使用

    be careful: 1)git版本与Sourcetree版本最好一致 ,不能git为2.5,sourcetree为1.8 2)先安装git再安装Sourcetree 3)拥有git和sourcet ...

  6. bitbucket+sourcetree+p4merge for windows 版本控制

    这里选择bitbucket作为仓库的原因是,它能够在设置私有仓库的前提下组建5人团队 一:https://bitbucket.org/ 注册bitbucket 二:http://www.sourcet ...

  7. [Tool] SourceTree初始化GitFlow遇到错误(git command not found)的解决方案

    [Tool] SourceTree初始化GitFlow遇到错误(git command not found)的解决方案 问题情景 使用SourceTree,可以方便开发人员快速的套用GitFlow开发 ...

  8. GitHub和SourceTree入门教程

    -->本教程适用于主流的开源网站github和bitbucket,个人认为sourceTree还是比较好用的git客户端,支持windows和mac os. -->soureceTree的 ...

  9. Git SourceTree 冲突解决方案

    Git现在越来越火,很多人都从Svn迁移到Git上面,Git让我们更加与世界接轨,不再是"局域网"的程序猿,特别是掌握了Git之后,会发现它真的很好用,本文对Git中比较烦人的冲突 ...

  10. git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin

    git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origi ...

随机推荐

  1. 新建虚拟机_WIN8 64位系统_启动报错Directory "EZBOOT" not found

    准备工作:下载win8 64 镜像文件 1.虚拟机安装win8 64位操作系统,新建虚拟机步骤同XP系统 2.BIOS设置CD/ROM启动,但启动报错,如下,由于镜像文件超过4G,无法从虚拟机安装,需 ...

  2. js中值的基本类型与引用类型,以及对象引用,对象的浅拷贝与深拷贝

    js有两种类型的值:栈:原始数据类型(undefinen,null,boolead,number,string)堆:引用数据类型(对象,函数和数组)两种类型的区别是:储存位置不同,原始数据类型直接存储 ...

  3. 洛谷P3237 米特运输 [HNOI2014] hash/二进制分解

    正解:hash/二进制分解 解题报告: 传送门! umm首先提取下题意趴QAQ 大概是说给一棵树,每个点有一个权值,要求修改一些点的权值,使得同一个父亲的儿子权值相同,且父亲的权值必须是所有儿子权值之 ...

  4. c#中base64编码解码

    //编码: byte[] bytes = Encoding.Default.GetBytes("要转换的字符"); string str = Convert.ToBase64Str ...

  5. 前端 HTML body标签相关内容 常用标签 段落标签 p标签

    段落标签 <p>,paragraph的简写.定义段落,默认段落之间有间隔的 浏览器展示特点: 跟普通文本一样,但我们可以通过css来设置当前段落的样式 是否又独占一行呢? 答案是的 块级元 ...

  6. 一行js弹窗代码就能设计漂亮的弹窗广告

    接到一个设计需求,要求xmyanke在网站右侧挂一个弹窗广告宣传最近的活动,找了半天都没看到合适的,自己鼓捣了一行js弹窗代码就能设计漂亮的弹窗广告,来瞧一下,欢迎拍砖提意见,js弹窗广告代码如下: ...

  7. Got timeout reading communication packets解决方法

    Got timeout reading communication packets解决方法 http://www.th7.cn/db/mysql/201702/225243.shtml [Note] ...

  8. 多周期MACD趋势共振制作的方法

    我浏览了创幻论坛.理想论坛,来到MACD股市技术分析俱乐部,真正找到自己的乐土. 做人要厚道!指标之王MACD既然被先辈们创造了出来,就应由我辈发扬光大!自吹自擂者.吝啬者都应自觉退出论坛既然来到这里 ...

  9. 012-Future、FutureTask、CompletionService 、CompletableFuture

    一.概述 创建线程的两种方式,一种是直接继承Thread,另外一种就是实现Runnable接口.这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果.如果需要获取执行结果,就必须通过共享变量或 ...

  10. node 学习系列-hello world

    准备学习node,记录一段 1.搭建好 node 以后,就记录一下 hello world