我們有一個不斷髮展的git回購。我想比較目前的回購情況和我幾個月前實現的里程碑。我如何獲得回購舊版本的本地副本,而不會對回購的當前狀態造成任何傷害/損害?獲取舊版git回購的副本
我看到一些看起來很有前途的選項(「checkout」,「reset current branch」),但我想要小心不要意外地將主分支恢復爲每個人。
我們有一個不斷髮展的git回購。我想比較目前的回購情況和我幾個月前實現的里程碑。我如何獲得回購舊版本的本地副本,而不會對回購的當前狀態造成任何傷害/損害?獲取舊版git回購的副本
我看到一些看起來很有前途的選項(「checkout」,「reset current branch」),但我想要小心不要意外地將主分支恢復爲每個人。
通過檢出較舊的提交,您可以輕鬆檢查回購的較舊狀態。每個提交都帶有一個您可以使用的提交哈希。例如,如果您執行git log
,您將獲得回購中所有提交的列表。通過執行git checkout [commit hash]
檢查你想要的提交,其中[提交哈希]是所需的哈希。
爲了回到最近的提交只是做git checkout master
。
似乎有大約GIT中是如何工作的一些誤會......
首先是好消息:只要你有一個克隆(你幾乎可以肯定總是有)工作,它是不太可能,你會改變主要分支「爲大家」。您只需確保不要:push
ing主。你可以做任何你想要的倉庫克隆,這並不重要。如果你真的真的擔心,然後克隆回購和在該克隆git remote remove origin
,現在你真的不得不改變任何關於原始回購的東西。
但是現在回到以前的狀態並比較......這不是很清楚你想要做什麼。
你說回覆存儲庫舊的狀態;在大多數情況下,隨着回購的發展,您只需添加對象並更新分支參考。所以,如果你的意思是你將git倉庫(包括數據庫,即整個.git文件夾,或者一個完整的倉庫)歸檔,並且希望將你當前的git倉庫與它進行比較......我不會認爲這是直接的並且需要更多地瞭解你想要完成的事情。 (除非已經有歷史重寫你要分析,它似乎並不像有多少,你可以沿這些線路完成...)
但你也說說checkout命令和重置分支機構。這些都與使用數據庫來恢復索引和工作樹到一個較舊的狀態。如果你想要的只是將你當前的工作樹與較舊的工作樹進行比較,那很簡單:只需使用git diff
這是您可以執行的最基本的Git任務之一,並且閱讀任何Git教程都會向您顯示這個怎麼做。 – meagar