2016-03-30 22 views
0

我想我在閱讀Git文檔時一直非常困惑。它看起來像我需要從遠程克隆到本地,然後從本地複製到工作空間,然後在工作空間副本上工作。然後從工作空間副本提交到本地存儲庫副本,然後從本地存儲庫副本推送到遠程副本。對於一個項目,我必須在本地計算機上製作兩份副本。我對麼?非常感謝3個副本在git項目中?

+0

當你說副本我認爲你的意思是分支? – Cyclonecode

回答

1

您似乎混淆了存儲庫和工作副本的概念。

存儲庫是完整的歷史記錄的項目。它不包括任何檢出或可讀的東西 - 這是一個裸倉庫。 在您的本地存儲庫中,您通常會檢出修訂版本,您想要修改的修訂版本;默認情況下,最近的修訂版本會在遠程克隆後檢出。因此,與本地存儲庫關聯的工作副本包含文件,因爲它們看起來像在檢出版本中。通常情況下,資源庫和工作副本的結構類似於

myrepo    <--- this is the dir which contains the working copy 
|- .git    <--- the actual repository. A hidden directory as a sub-dir of the working copy 

您通常在存儲庫和工作副本與通常的Git命令操作時myrepo目錄中。您可以更改默認行爲,甚至可以從同一本地存儲庫創建多個簽出。

+0

非常好,謝謝我認爲我終於清除了條款:本地存儲庫和工作副本。它們是關聯的,本地存儲庫具有有關工作副本的元數據。我對嗎?謝謝 – Charlie

+0

是的,工作副本總是與存儲庫相關聯。 Git將工作副本的狀態存儲在.git目錄中的某個位置(儘管從技術上講,它不是存儲庫本身的最重要部分,因爲存儲庫可以不用工作副本而存在)。 – planetmaker