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

相關文章
相關標籤/搜索