博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git--使用2
阅读量:5743 次
发布时间:2019-06-18

本文共 1574 字,大约阅读时间需要 5 分钟。

hot3.png

一:使用.gitignore忽略某些文件

文件.gitignore的格式规范如下:

  • 所有空行或以注释符号#开头的行都会被Git忽略
  • 可以使用标准的glob模式匹配
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录
  • 要忽略指定模式以外的文件或目录,可以在模式前加惊叹号(!)取反

一般时候我们总会有一些文件无需纳入Git的管理,也不希望他们总出现在未跟踪文件列表。通常都是些自主生成的文件,像是日志或者

编译过程中创建的等等。我们可以创建一个.gitignore的文件,列出要忽略的文件模式,来看一个例子:

这里忽略了工作目录下的.test文件,以.o或.a结尾的文件。

如果不使用.gitignore,可以看到,显示.test文件未跟踪,下面添加.gitignore文件

可以看到工作目录很干净的。

如果使用git下载Linux内核源码,你可以在工作目录下看到.gitignore文件,cat .gitignore,截了一段:

二:git diff 生成patch

git-diff列出自己本地的tree中已修改,但却未commit的改动,这也是产生patch的方式。注意,使用git-diff产生的patch都应该在patch(1)时

指定-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

转载于:https://my.oschina.net/u/159782/blog/39524

你可能感兴趣的文章
freeze
查看>>
JS时间转时间戳,时间戳转时间。时间显示模式。
查看>>
SAP HANA存储过程结果视图调用
查看>>
设计模式 ( 十八 ):State状态模式 -- 行为型
查看>>
OracleLinux安装说明
查看>>
nova分析(7)—— nova-scheduler
查看>>
Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
查看>>
OpenMediaVault 搭建git,ssh无法连接问题
查看>>
java多线程之:Java中的ReentrantLock和synchronized两种锁定机制的对比 (转载)
查看>>
mysql性能优化学习笔记-参数介绍及优化建议
查看>>
【Web动画】SVG 实现复杂线条动画
查看>>
使用Wireshark捕捉USB通信数据
查看>>
iOS - KVC 键值编码
查看>>
《树莓派渗透测试实战》——1.1 购买树莓派
查看>>
Apache Storm 官方文档 —— FAQ
查看>>
iOS 高性能异构滚动视图构建方案 —— LazyScrollView
查看>>
Java 重载、重写、构造函数详解
查看>>
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>
【云栖大会】探索商业升级之路
查看>>
HybridDB实例新购指南
查看>>