比方说你收到了错误报告,然后你知道前几天明明是好的.可是这几天有好多新的commit被部署了.那么我们怎么迅速的找到第一个引入Bug的commit呢? 我们能够使用git bisect,git利用二分查找法迅速找到第一个坏的commit,下边看看详细怎么用就明确了. 我们首先告诉git我们要開始binary search了. # git bisect start 然后我们告诉git当前的commit是一个坏的提交. #git bisect bad 然后我们再告诉git我们已知的一个好的提交,这样…
有时候想统计仓库的情况,比方代码量.贡献者之类的. 1 统计某人的commit数量 git log --author="$(git config --get user.name)" --oneline | wc -l 2 统计某人的代码量 git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | awk '{adds += $1; subs += $2; all +=…
假设你不小心git reset --hard HEAD^ 然后这个commit又没有在别的git仓库中,怎么办?是不是这次改动就丢了呢? 当然不是,git为我们每次都历史都保留了reference log 例如以下: $ git commit -A -m "hongchangfirst commit" 你如今看git的历史记录,你能够看到两次提交: $ git log * d1f3fg5 (HEAD, master) hongchangfirst commit 如今让我们来重置回第一次…
git filter-branch 同意你使用一个单一命令来大范围地更改历史.所以这个命令要慎用. 1假如你想对全部的commits删除一个文件. git filter-branch --tree-filter 'rm to_be_deleted_file' HEAD 2 假如你想删除某些message中的某些以cr开头的行. git filter-branch --msg-filter ' sed -e "/^cr: /d" ' 3 将仓库变成以new_home文件夹为项目父文件夹.…
什么是fast forward, 顾名思义,就是高速向前进,Git怎么做到高速的呢? 原来假设Git判定能够fast forward的时候,直接改动当前HEAD指针的指向然后再改动当前HEAD指针.说白了就是改动两个指针的指向.而并没有生成新的commit对象. 所以当你改动了当中的一个branch中的某个commit的时候,还有一个branch假设也引用了此commit.则这个branch会非常意外的出现变化,由于引用的是同一个commit对象. 所以一般有几种方法: 1 --no-ff 显示…
有时候还有一个人不能从远程直接clone仓库或者说由于非常大,clone非常慢或其他原因.我们能够使用bundle命令将Git仓库打包,然后通过U盘或者是其他介质拷贝给他,这样他拿到打包好的仓库后能够unbundle成仓库,达到了共享的目的,这样有时候是非常方便的. 我们看看详细怎么做: 首先我们进入仓库.git status一下看看当前的仓库状态. 然后開始打包: git bundle create zhc.bundle HEAD master Counting objects: 6, don…
一.二维数组 多维数组可以看成以数组为元素的数组.可以有二维.三维.甚至更多维数组,但是实际开发中用的非常少.最多到二维数组(我们一般使用容器代替,二维数组用的都很少). [代码示例] import java.util.*; public class Test_0313_01 { public static void main(String[] args) { //1. Java中多维数组的声明和初始化应按从低维到高维的顺序进行 int a1[][]=new int[][4];//非法 //in…
二分查找树(Binary Search Tree)的基本操作有搜索.求最大值.求最小值.求前继.求后继.插入及删除. 对二分查找树的进行基本操作所花费的时间与树的高度成比例.例如有n个节点的完全二叉树,对它进行的基本操作的时间复杂度为O(logn).然而,如果树是一个有n个节点的线性的链,则在这种情况下的时间复杂度为O(n). 1.什么是二分查找树 二分查找树是一种有组织的二叉树.我们可以通过链接节点表示这样一棵树.每个节点包含键(key),数据(data),左子节点(left),右子节点(ri…
没想到我的上一篇博客有这么多人看,还有几位看完之后给我留言加油,不胜感激,备受鼓励,啥都别说了,继续系列文章之第二篇.(如果没看过我第一篇博客的朋友,可以到我的主页上先浏览完再看这篇文章,以免上下文对不上) 前面已经创建完项目了,那么下面一个步骤就是逐一新建在MVC框架中负责V(视图).C(控制器).M(模型)的对应文件. 第一步:创建项目(已完成) 第二步:新建负责V(视图)的JSP文件 在文件夹Web-Root下新建名为MyJsp.jsp的JSP文件,代码如下: <%@ page langu…
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法. ——<百度百科> 记得我第一次接触jsp的时候是学校里面要求我们做课程设计,我和我的小伙伴们就打算模仿一个外卖网站做一个web项目.那时候啥都不懂,什么HTML啊CSS啊统统不会,更别说JSP了.用jsp的时候也是把几乎所有的逻辑控件都放到一个jsp里面,页面里充斥着各式各样的代码,纷繁杂乱,最…