一:使用.gitignore忽略某些文件git
文件.gitignore的格式规范以下:app
通常时候咱们总会有一些文件无需归入Git的管理,也不但愿他们总出如今未跟踪文件列表。一般都是些自主生成的文件,像是日志或者spa
编译过程当中建立的等等。咱们能够建立一个.gitignore的文件,列出要忽略的文件模式,来看一个例子:日志
这里忽略了工做目录下的.test文件,以.o或.a结尾的文件。orm
若是不使用.gitignore,能够看到,显示.test文件未跟踪,下面添加.gitignore文件源码
能够看到工做目录很干净的。it
若是使用git下载Linux内核源码,你能够在工做目录下看到.gitignore文件,cat .gitignore,截了一段:编译
二:git diff 生成patchform
git-diff列出本身本地的tree中已修改,但却未commit的改动,这也是产生patch的方式。注意,使用git-diff产生的patch都应该在patch(1)时test
指定-p1,或者直接使用git-apply打补丁。
选项:
--clour diff 语法高亮
--ignore-space-at-eol 忽略行尾的whitespace
--ignore-space-change 忽略行尾的whitespace,而且认为全部的whitespace都是同样的
--ignore-all-space 比较两行的时候,彻底忽略whitespace。这样,即便是一行有不少whitespaces,另外一行文字同样可是没有whitespace,
git也认为这两行内容一致。
这里介绍一下patch文件格式:补丁头
补丁头是分别由---/+++开头的两行,用来表示要打补丁的文件。---开头表示旧文件,+++开头表示新文件。
一个补丁文件中的多个补丁
一个补丁文件中可能包含以---/+++开头的不少节,每一节用来打一个补丁。因此在一个补丁文件中能够有好多个补丁。
块
块是补丁中要修改的地方。它一般由一部分不用修改的东西开始和结束。他们只是用来表示要修改的位置。他们一般以@@开始,结束于
另外一个块的开始或者一个新的补丁头。
块的缩进
块会缩进一列,而这一列是用来表示这一行是要增长仍是要删除的。
块的第一列
+号表示这一行是要加上的
-号表示这一行是要删除的
没有加号也没有减号表示这里只是引用的而不须要修改
三:git apply打补丁
git-apply至关于patch(1)命令,不过git-apply专门用来apply那些用git-diff生成的补丁
选项:
--check 不真正打补丁,而只是检查补丁是否能完美的打上
-v verbose模式
-R reverse模式,也就是拉出这个补丁来
四:git log 查看提交历史记录
运行git log:
git会按提交时间列出全部的更新,最近的更新排在最上边。每次更新都会有一个SHA-1校验,做者的名字和电子邮件地址,提交时间,最
后一个段落显示提交说明。
选项说明:
-p 按补丁格式显示每一个更新之间的差别
--stat 显示每次更新的文件修改统计信息
--shortstat 只显示--stat中最后的行数修改添加移除统计
--pretty 使用其余格式显示历史提交信息。可用的选项包括online,short,full,fuller和format。
下边是加-p选项,按补丁格式查看每一个更新之间的差别
$git log -p