簡體   English   中英

文件從存儲庫中消失,但是提交歷史記錄中沒有刪除

[英]Files disappeared from repository, but there is no deletion in commit history

我手頭有些困惑:一夜之間消失了幾個以前提交的文件,但是沒有一個提交顯示它們已被刪除。 怎么會這樣

情況如下:

  • 我在BitBucket上有一個私有的Git存儲庫,有一個分支。
  • 我們團隊中還有3個人,每個人都將SourceTree用作其git界面。
  • 昨天我推送了一個提交-之后,存儲庫就可以了。
  • 從那以后,所有其他3個團隊成員都進行了幾次提交:
    • 一個是本地合並,
    • 有兩個在線(即通過網頁) README.md編輯,
    • 一個是在線(即通過網頁)刪除單個不相關的文件,
    • 其他是帶有1或2個文件的幾次提交。
  • 早上,我拉出了存儲庫,只是發現存儲庫中丟失了由不同人在不同時間提交的幾個不同文件:
    • 它們已從本地副本中刪除,
    • 它們從項目的BitBucket網站上的“ 源”頁面消失了,
    • 它們從從“ 下載”頁面下載的.zip中消失了。
  • 然而:
    • 我的刪除所有這些文件后都沒有提交,
    • 我可以轉到一個較早的提交,該提交修改了一個“消失的”文件,轉到其摘要頁面,查看了它的歷史記錄-並且其中的任何提交都不會刪除該文件。
  • 我再次檢查了是否沒有人混淆.gitignore ,但是自去年12月以來未曾改變。

另外,為了進一步混淆該問題:幾個月前,我在一次提交中添加了文件ARtest-AR 后來我將test-AR重命名為test.AR 現在AR仍在存儲庫中,但是test-ARtest.AR都沒有。

那么,什么可能導致文件從Git存儲庫中刪除而沒有任何提交實際刪除它們呢?


PS。 當然,我已向BitBucket支持提交了支持票,但我並不十分確定他們會迅速做出響應。

可能有人強迫進行了推送(即git push -f ... ),這意味着他們本地歷史記錄中的任何內容都將替換遠程站點上的分支。 正如您所假設的那樣,不需要進行刪除所有內容的提交。 如果開發人員從未同步他們的更改以查看服務器上的所有提交,然后強行推送其過時的歷史記錄,則您可能會丟失提交。 所有這些都假設通過“私有”存儲庫,您的意思是小組中的開發人員都可以將其寫入倉庫。

我會調整回購,分支或項目權限,這樣就不會再次發生。 或者,如果可以采用gitflow或功能流方法,則可以要求所有用戶都使用請求請求。 另外,請確保您的開發人員已接受有關如何使用Git的教育。

這只是一個猜測,但是如果每個人都進行了更改,但是有幾個人丟失了提交,那么我的猜測是,沒有丟失任何提交的人就是有錯的人。

暫無
暫無

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

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