我是git的新手。在git中克隆一棵樹
我不小心刪除了我們在git上項目的部分歷史記錄。現在,我想把頭部設置到最新的穩定版本。問題是我想要將HEAD設置爲的樹無法從其命令訪問,但我可以通過瀏覽器訪問它。
有人知道如何使用SHA克隆特定的樹嗎?
我曾嘗試git的復位SHA,但SHA不被認可。 我也試過git clone -b SHA repo.git
,但它也沒有工作。
我是git的新手。在git中克隆一棵樹
我不小心刪除了我們在git上項目的部分歷史記錄。現在,我想把頭部設置到最新的穩定版本。問題是我想要將HEAD設置爲的樹無法從其命令訪問,但我可以通過瀏覽器訪問它。
有人知道如何使用SHA克隆特定的樹嗎?
我曾嘗試git的復位SHA,但SHA不被認可。 我也試過git clone -b SHA repo.git
,但它也沒有工作。
這個「最新的穩定版本」已經推送到服務器了嗎?如果是,您可以運行git fetch
和git checkout SHA
。
如果這個特殊的承諾僅僅是在你當地的歷史,做一個git reflog
並確定提交。然後檢出所需的提交。
你混淆了不同的概念。
每當你克隆,克隆你的整體庫。 (沒有辦法克隆特定的「樹」。)
存儲庫主要由許多提交組成。那些是你可以結帳的。每個提交知道它的父提交 - 這形成歷史樹。
一個提交本身包含一個目錄樹與的所有文件。
通常會有某種託管「中央」存儲庫的服務器。
您首先克隆您的存儲庫。這將在主機上創建該中央存儲庫的完整副本。 (與所有的分支和提交。)
之後,你通常只能與本地存儲庫交互。
從你的錯誤消息(不幸隱藏在一些評論中),似乎你的項目可能使用子模塊。 (包括在您的項目完全不同的版本庫的方式。)
這往往是有點棘手。看看http://git-scm.com/book/en/Git-Tools-Submodules。
你是如何刪除「歷史的一部分」? – michas
除了服務器和本地服務器之外,是否還有其他的存儲庫副本? (也就是之前有人克隆過嗎?) – michas
您的資料庫是否使用任何子模塊? (是否有文件'.gitmodules'?) – michas