Git--使用5

一:git tag
linux


git tag列出已有的标签:git


使用特定的搜索模式列出匹配的标签:服务器


得到某个版本的源码:spa

$mkdir ../linux-2.6.11
$git archive -v v2.6.11 | (cd ../linux-2.6.11/ && tar xf -)
$head -4 ../linux-2.6.11/Makefile

orm


git使用的标签有两种类型:轻量级的(lightweight)和含注释的(annotated)。新建含注释的标签会产生一个标签对象,而轻量级标签不会产生标签对象。server

轻量级的标签创建:对象

$git tag v1.0源码

这样就会给当前的commit打上v1.0这个标签。it


此时这个tag是一个引用,不是对象。io

含注释的标签创建:

$ git tag -a [name] -m [“xxxx”]


创建含注释的标签会产生一个标签对象:


能够看到在建立标签后对象数增长了一个。



二:git bisect


若是一个项目到某一个版本发现一个错误,你还知道以前某个版本是好的,那么能够用git bisect来定位最早出现bug的版本。能够:

git bisect start

git bisect bad 如今这个版本是有bug的

git bisect good good_commit good_commit是好的版本,你能够用tag表示,也能够用那20byte的前2个byte表示



个人这个意思是,若是数大于等于5就是bug,这里找到了第一个大于等于5的commit。



三:git format-patch


git format-patch -2 -o ~/patch/

git format-patch是用于把当前的git目录中的commit生成的patch文件,并组织成UNIX mailbox的邮件格式。--cc后指定的是邮件的抄送接收人。-2表示只处理最后两次commit


四:git send-email


git send-email --to xxx@xxx --to xxx@xx --cc xxx@xxx --bcc xx@xx ~/patch

git send-email用于把刚才生成的patch文件直接以email的方式发送出去,要用这个命令须要保证正确配置了SMTP服务器的相关信息。用git直接生成patch邮件发送到邮件列表是一个很方便的方式,并且能够保证发出来的邮件有比较统一的格式,方便别人来审阅你的patch。

git config file  [sendmail]        smtpencryption = tls smtppass       = xxxx smtpserver     = smtp.gmail.com smptuser = kernellwp@gmail.com        smtpserverport = 587

相关文章
相关标签/搜索