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文件夹为项目父文件夹.…
有时候想统计仓库的情况,比方代码量.贡献者之类的. 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 +=…
什么是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…
假设你不小心git reset --hard HEAD^ 然后这个commit又没有在别的git仓库中,怎么办?是不是这次改动就丢了呢? 当然不是,git为我们每次都历史都保留了reference log 例如以下: $ git commit -A -m "hongchangfirst commit" 你如今看git的历史记录,你能够看到两次提交: $ git log * d1f3fg5 (HEAD, master) hongchangfirst commit 如今让我们来重置回第一次…
比方说你收到了错误报告,然后你知道前几天明明是好的.可是这几天有好多新的commit被部署了.那么我们怎么迅速的找到第一个引入Bug的commit呢? 我们能够使用git bisect,git利用二分查找法迅速找到第一个坏的commit,下边看看详细怎么用就明确了. 我们首先告诉git我们要開始binary search了. # git bisect start 然后我们告诉git当前的commit是一个坏的提交. #git bisect bad 然后我们再告诉git我们已知的一个好的提交,这样…
十八条 接口优于抽象类 接口的特点: 1.一个类可以实现多个接口,不能继承多个类(抽象类) 2.接口不能有具体的方法实现,只定义标准类型 骨架类: 即实现一个abstract类来实现接口,提供给其他类继承,优势是,子类继承这个骨架类时,不需要实现接口中的每个标准方法,那么接口往后演进,只需要修改骨架类,不需要修改每一个子类. 十九条 接口只用于定义类型 接口只应该被用来定义类型,不应该用来导出常量,常量可以用一般类名来修饰…
本文转载自:http://cs-cjl.com/2014/05/05/learn_git_with_me_10 Git实现了以下三条用于交换patch的命令: git format-patch 用于创建一个email格式的patch git send-email 通过SMTP发送一个Git patch git am 应用一个patch 创建Patches git format-patch的常见用法包括 指定commit的个数,比如:-2 commit range,比如:master~4..mas…
没想到我的上一篇博客有这么多人看,还有几位看完之后给我留言加油,不胜感激,备受鼓励,啥都别说了,继续系列文章之第二篇.(如果没看过我第一篇博客的朋友,可以到我的主页上先浏览完再看这篇文章,以免上下文对不上) 前面已经创建完项目了,那么下面一个步骤就是逐一新建在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里面,页面里充斥着各式各样的代码,纷繁杂乱,最…