簡體   English   中英

在重寫歷史記錄后,Github的問題跟蹤器中對舊提交的引用仍然存在

[英]Reference to old commit in Github's issue tracker persits after rewriting history

我們正在使用Github及其相關的問題跟蹤系統(ITS)。 我們在提交消息中引用ITS中的問題ID,鏈接ITS和提交。 由於我已經在已經推送的提交的提交消息中混淆了許多問題ID,因此我不得不在我的Git存儲庫中“重寫歷史記錄”。 一切順利,我強行推動我對Github的改變。

我希望能夠更新從ITS中的問題到舊提交(用git log不再可見)的鏈接,並更改為引用它們的新提交。 不幸的是,他們不是。 即使問題的提交在存儲庫中不再存在,仍然會從Github上的問題網站引用它。 但是,引用的提交不會顯示在普通的git log 事實上,我可以git checkout <old_commit> ,盡管沒有證據證明這個提交曾經存在於日志中,但我感到有點困惑。

有沒有辦法在Github上觸發一個完整的新存儲庫讀入,或者我可以以某種方式手動編輯鏈接的提交? 此外,該問題沒有與新提交的鏈接。

我從Github找到了一個相關的幫助頁面,但這只是向我建議,從git push開始,Github將自己處理所有事情: https//help.github.com/articles/can-i-delete-a-commit-信息

謝謝!

即使您的本地克隆中不存在提交,並且沒有引用它的標記或分支,如果Github尚未在其上運行垃圾收集器,則提交可能仍存在於Github上的存儲庫中。 據我所知,出於性能原因,他們比你當地的git更少。 如果是這樣,它最終會消失。

我不知道“有一個來自問題跟蹤器的指針”是一個原因,提交不能被垃圾收集。 如果是這樣,只要問題存在就不會存在。

GitLab有一個備份功能,可以導出整個項目和所有相關數據。 我發現從項目中完全刪除提交的最簡單方法是進行備份,手動編輯到存儲庫和其中包含的數據,然后還原 - 首先通過還原到新存儲庫進行測試,然后刪除舊的存儲庫並在其位置恢復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM