91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決git server“丟失”commit問題

發布時間:2020-07-28 13:54:05 來源:億速云 閱讀:273 作者:小豬 欄目:編程語言

小編這次要給大家分享的是如何解決git server“丟失”commit問題,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

1 背景

gitlab某倉庫有同事發現部分代碼文件內容丟失,具體表現

A. dev分支commit信息是連續的,看不出明顯的大時間范圍批量丟失

如何解決git server“丟失”commit問題

B. 以SuncardCashier/control/CSymbolEdit.h為例,在1c88f613下只能看到2個歷史相關提交

如何解決git server“丟失”commit問題

但是1天前提交的bfff1f51,也有此文件的修改提交,意味著bfff1f51這個提交“丟失”了

2 追查過程

2.1 gitlab server側尋找線索

表面上像是gitlab server出現了某些問題導致“丟失”,所以查看/var/log/gitlab/gitlab-rails/下的production.log日志(production.log是當天的,production.log.31.gz是更早日期壓縮后的,需要解壓查看)。

但是通過查看日志只有一些查看上述commit的api access log,并無有效線索。并且同時段的其他倉庫可以看到commit信息

2.2 gitlab network graph尋找線索

此時懷疑是有人在本地誤使用rebase等命令再force push導致server的commit丟失,通過gitlab的network graph是一個高效的梳理手段

首先在network grapsh搜索bfff1f51(灰色箭頭指向),這也說明gitlab server其實有此commit數據

如何解決git server“丟失”commit問題

這里不同顏色線相當于是dev分支不同的提交人,最右側紅線為主分支,其中線之間的箭頭是merge。查看圖中bfff1f51之后各線最鄰近的merge,基本都還可以看到bfff1f51這個提交,說明正常。除了紅色箭頭標識的左側綠線!

如何解決git server“丟失”commit問題

此提交為d5049b0,可以看到該文件已經沒有bfff1f51提交了

如何解決git server“丟失”commit問題

繼續到綠線分支更后的操作追查,之后它merge到了粉線(左起第二),粉線再merge到了蘭線(左起第三),粉線再merge到了紅線(左起第四)。而“丟失”情況如下圖示,即被綠線merge前都正常,merge后都丟失了

如何解決git server“丟失”commit問題

3 結論

至此,可以基本確定是d5049b0進行了類似rebase回滾到之前提交的行為(其commit message也填寫的是“沖突”),另外可以看到該倉庫設置的protected branch只有master,無dev,所以是具備force push條件的

如何解決git server“丟失”commit問題

4 建議的改進措施:

A. 將dev等需重點分支禁止force push

B. 開發人員對于git回滾等操作需謹慎對待

看完這篇關于如何解決git server“丟失”commit問題的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松桃| 仁布县| 灵石县| 永仁县| 太仓市| 大同市| 江油市| 三明市| 麻江县| 甘谷县| 伊金霍洛旗| 旬阳县| 临汾市| 连城县| 林州市| 兴安县| 普定县| 阿坝县| 陇南市| 日土县| 华坪县| 景德镇市| 巩义市| 古丈县| 长乐市| 福建省| 晋城| 九龙县| 阿鲁科尔沁旗| 北流市| 逊克县| 苏尼特左旗| 班戈县| 宁德市| 墨竹工卡县| 临沂市| 澎湖县| 太仓市| 璧山县| 磐石市| 申扎县|