簡體   English   中英

如何從存儲庫及其子模塊中檢出特定修訂版

[英]How do I checkout a specific revision from a repository and its submodules

我有一個克隆的存儲庫(或至少被告知要克隆),使用

git clone git://therepository --recursive

該存儲庫中包含子模塊。 我要做的是從存儲庫中獲取某個日期的文件。 我嘗試這樣做:

git checkout `git rev-list -n 1 --before="2011-12-10 13:37" master`

但這似乎對子模塊沒有任何作用。

誰能建議我應該怎么做才能實現子模塊? (我實際上並不需要存儲庫的完整克隆,因此,如果有一種方法可以通過子模塊遞歸獲取特定修訂版的話,也可以)。

額外

如果將-b開關添加到結帳,則可以運行:

git submodule sync
git submodule update

沒有任何錯誤,但是子模塊似乎仍然包含其文件的HEAD版本。

此處的小腳本: http : //cemerick.com/2009/09/28/working-with-git-submodules-recursively/

給了我另一種在每個子模塊(以及每個子模塊的子模塊,無限時)上遞歸調用checkout的替代方法,它對我不起作用(似乎是對某些文件的錯誤修訂),但這可能是我特有的問題,因此它可能對其他搜索相同功能的人有用。

請注意,我不得不在結帳呼叫中更改HEAD的主文件,這只是一個猜測,所以也許這也是為什么我仍然對要檢出文件修訂版存在問題。

令我感到驚訝的是,這似乎既困難又很少做到(找不到有關如何通過Google進行操作的參考)。 我本以為從某個特定日期或標簽獲取文件來獲取模塊子模塊這是人們相當定期地做的事情,以調試舊版本的代碼等

在簽出/克隆后是否運行git submodule update

暫無
暫無

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

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