簡體   English   中英

在私有git倉庫中保留分支

[英]Preserving branches in private git repository

我們有一個git信息庫,該信息庫從GitHub上的項目收集的公共信息庫中收集公司的所有私有分支。 我們實現了我們不想向上游推送的功能,這些分支通常基於公共存儲庫中的某些標記發布。

到現在為止還挺好。 當我想從公共存儲庫中提取以后的修訂時,我使用

git fetch

命令,然后我們可以使用這些更高版本來重新構建代碼基礎或實現其他新分支。 但是,如果有人不小心鍵入了命令:

git -p fetch

那么我們的存儲庫將清除未出現在遠程/起源中的所有分支。 當然,那里沒有私有的東西,因此我們可能會丟失全部或大部分未保存在我們的存儲庫克隆或文件系統備份中的工作。

我想防止這種情況出現,這是非常脆弱的情況。 我們是否以不應該使用git工具的方式使用它,或者是否有更好的方法呢?

通過使用git fetch -p標志,您可以告訴git修剪。 我不知道該說些什么,實際上是在指導它進行破壞性工作。 當然,使用git時,您始終可以使用git reflog向后走。 只需使用哈希檢查分支即可。

git並不意味着可以替代。 但是,您對fetch存是准確的,它不會使您免於存儲故障。

無論如何,您可以做兩件事:

  • 備份.git/refs.git/logs目錄和.git/packed-refs文件。 不幸的是,當您刪除分支時,引用日志將被刪除,因此您不能依賴它們。
  • “貴重物品”擴展名 ,如此處所述啟用它。 這樣就永遠不會收集對象,並且如果您從備份還原分支,則可以確保它們是有效的。

暫無
暫無

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

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