Re: [討論] 靠submit紀錄來除錯是一個不好的習慣嗎
※ 引述《vi000246 (Vi)》之銘言:
: → kangan987: 推 12/29 11:35: 推 abraxas: 推 12/29 13:14: 推 botnet: 推 12/29 13:45: 推 b87088: 推 12/29 15:56: 推 sunsamy: 用git抓bug是源於無知,不是本身有多利害,像義和團 12/29 17:25 ^^^^^^^^^^^^^^^^^^^^
有一種狀況是這樣
軟體架構設計不良,高耦合,導致原本要做A功能,卻影響到B功能,
但不好追是哪一行程式造成問題. (開發經驗久的人應該都遇過這種情形)
這種時候我們會需要追是從哪個版本開始壞掉
靠git去回復版本,找出出問題的commit,是一個很有效率的做法.
我認為debug是挑合適作法,在時間要求內解決掉問題
做法本身並沒有優劣之分,而是這個做法適不適合目前的處境
沒有時間壓力的情況下,可以根據bug的源頭做架構調整
有時間壓力的情況下,靠工具輔助快速找出問題,work around的方式先讓東西能動.
用無知來形容用git除錯,個人覺得還蠻怪的
是說git這類版控工具的功能之一,就是出問題的時候能查找出是誰,是哪個修改造成bug
拿git來做debug的輔助工具並沒有不對,個人感覺 @@
反而我覺得git無法輔助debug的話,那做版控的目的是啥呢....
--
修改壞掉之後一鍵回復到還能動的狀態
這樣可以順便看一下是哪個修改出問題吧 XD
回到還能動的狀態也被我歸類是debug行為之一就是
這個行為有個指令叫Git Bisect 環境單純的話是還滿方便
的 debug工具是多多益善 多學沒壞處
推個 工作上能更有效率,就是好辦法
不是抓戰犯用的嗎 (x)
其實就是藉由版本控制來找功能正常到功能失效的分水嶺,可
以迅速縮小範圍。
找到分水嶺後比對一下程式差異是否和失效現象相關,這樣比
較能快速找到分析方向。
不過前提是每次上傳程式前都要跑過測試,否則就是賭每個人
的紀律了。
通常上傳程式前應該都有測試來把關,過不了測試就無法上傳
程式,至少要維持基本功能正常。
通常是merge回去dev前要測試通過,每個commit都要測試完整
有點難
另外如果每個commit都是正常能跑,也不需要靠git追一堆comm
it了
技術上有困難,測試成本會過高,通常是一個開發結束後才會
做完整測試
merge或pr前測就好吧
不能太躁進而且軟體架構設計不良整條拆掉重構都有可能
那ID不用太意外啦,他非常討厭 git
推
highlight一句推文回整篇鞭,你有點可怕...
我以為儘量保持Tip of Tree是綠色的才是正確的?pre co
mmit CI都過才能提交
bisect 方便多了..
理想是每個commit都沒問題,實務上看資源夠不夠
我自己覺得debug方法跟工具沒有優劣,只有適合與否
個人覺得不應該批評某個方法很蠢之類,只有適合不適合的問
題
還有就是找到不代表要blame啊XD
罵了也解決不了問題
有時候高耦合真的會 pre commit CI過 但實際出問題
他就叫git blame咩 不blame一下是不行的
推 快速縮小範圍找到問題點之後要修正也比較快
找到前員工名字blame準沒錯
是說如果分支有合別人的再refactor,還是有可能blame錯
人…
git bisect真的好用
測試都有過 跑起來出問題 真的是軟體工程常態
就算做到95%以上的 Coverage 都很難避免極端狀況
除非要處理的問題真的很單純,否則再怎麼測都可能有
漏
推,方法沒有好壞,只有當下怎麼做比較合適
推
6
我覺得抓bug要看經驗 不同情境有不同的使用方式 像是從git log抓bug,使用git blame指令 是俗稱的抓戰犯 通常用在追踨bug追到一段code3X
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 程式會造成"軟體架構設計不良,高耦合,導致原本要做A功能,卻影響到B功能," 大部份是git造成的 不知道吧?那這樣算不算"無知"? 想看看git branch來merge去是不是都是一坨屎在那branch來merge去27
首Po大家好 小弟剛出社會 在純軟這個行業大約半年 最近code base在做IT的時候打出一個bug 老鳥們沒空所以派我這隻菜鳥去修 當我打開專案開始從模組方向找線索時 老鳥甲路過 看了一眼說
44
[請益] 大型Git版本庫的備份或替代方案我有一些大型的Git版本庫,存放特定專案要用到的文獻資料。 目前檔案大約2000餘個,大多是pdf、doc(x)檔案及一些文字檔, 單檔大小可達數百MB,版本庫總大小約數十GB。 由於總版本庫過大,無法同步到 GitHub、GitLab 備份。 使用Git管理的原因是這些檔案修改內容時希望有版本回溯機制,15
Re: [討論] 資工系畢業不會git很扯嗎看了一下大家的回應, 其實回文的都知道git阿! 只是公司沒在用而已, 講得出git的缺點的人, 勢必都對git很熟了吧!15
[討論] 問個git方面的蠢問題因為之前沒有自己做過專案,所以版控方面不是很清楚, 而最近有在公司賣命,有用到git的部分,稍微有點熟悉了,但有些部分還是不是很懂, 還請各位鞭小力一點QQ 就是: 我最近想自己做個小作品,並且使用git作為版控(公司用git管理,讓我覺得很好用XD)9
[請益] git rebase的問題各位好 本人在近來在公司需要將專案中某個pull request的commit統合成一個 下圖為pull request,本公司用的是bitbucket 我看了一些網路教學和youtube,仍然想不出解法。我的做法如下: