當前位置:編程學習大全網 - 源碼下載 - 為什麽需要用 GIT SHA 管理 Crash-Harries Blog64

為什麽需要用 GIT SHA 管理 Crash-Harries Blog64

開發人員在開發中常常會遇到壹個問題:使用壹個像Crashlytics的crash管理工具來判斷壹個特定的crash/bug是否被修復或解決。

例如:假設妳從當前發布的版本上發現壹個crash,但是本周妳已經發布了三次…那麽當前的crash來自於哪壹個版本呢?

通常通過查看Crashlytics中版本號和版本名稱來解決。但是,妳必須正確的匹配發布的標簽。如果妳可以做到,跟蹤到發布時具體的提交,然後再研究。

然而 。。。說實話,並不是每個人都能做到這壹點。不幸的是,在我的經驗中只有極少數公司會做這些,因為公司會不斷的減少開發人員,甚至會減少到壹個人。這種情況還在持續,所以很難做到正確的匹配發布的標簽。從長遠來看,找到壹個標簽,然後找到提交的版本,好吧。。。我不得不說這是壹種痛苦。如果某個人忘記了提交的版本,就會什麽也做不了。

也就是說,這裏需要壹個快速的小竅門可以在妳使用像Crashlytics等工具處理crash和bug分類的時候幫妳節省大量的時間。

添加GIT SHA在妳的Android工程中,打開build.gradle,然後添加如下的anroid代碼塊:

1 // Hat tip to Jake Wharton for this - found it in the u2020 app 2 def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim()

退回到android代碼塊中,然後添加壹個git sha構建配置常量。

1 android { 2 compileSdkVersion 19 3 buildToolsVersion "21.1.0" 4 5 defaultConfig { 6 applicationId "co.your.appname" 7 minSdkVersion 19 8 targetSdkVersion 19 9 10 buildConfigField "String", "GIT_SHA", "/"${gitSha}/"" 11 } 12 13 }

現在返回到妳創建Crashlytics實例的代碼中(例子如下)。只需要在初始化腳本的下面添加如下的代碼:

1 Crashlytics.setString("git_sha", BuildConfig.GIT_SHA);

這行腳本的作用是:從妳的源碼管理中獲取到git-sha的字符串值,然後將字符串設置成“git-sha”的值。

現在,當妳的應用崩潰,妳將會在Crashlytics中得到bug匯報,並且可以查看最近提交的代碼。

查看Crashlytics

打開Crashlytics,進到崩潰匯報。然後,點擊“more details”。在這裏,妳會看到(屏幕下方)應用構建的git_sha。

然後,妳將會看到這個。。。

補習

壹旦妳識別到crash和git-sha,妳就可以通過爭論點checkout準確的版本。

1 git checkout git_sha_goes_here

這時,妳將可以在分離頭的狀態中查看造成崩潰的原因。然後,妳將可以返回當前開發或標記的分支到修復過的問題和發布過的修復。

git_sha節省了妳的大量時間,並且很容易創建。從此,妳再也不用通過git logs,tag,patches 等等來尋找“提交了什麽引起了崩潰?我們修復這個崩潰了嗎?我們是怎麽發現這個崩潰的?“,只需要簡單的查看git sha來查找bug,查看當前的bug是否修復。如果修復了,很好。如果,還沒有,用妳的方式修復它。

  • 上一篇:什麽是多形性(幽靈病毒)病毒
  • 下一篇:網頁編程語言的腳本語言
  • copyright 2024編程學習大全網