2015-05-06 40 views
0

我知道「提交」有點像「更新」「本地回購」和「推送」將本地回購更改複製到遠程/在線回購,對吧?將「變更」更改爲「本地回購」意味着什麼?

但是,如果我在本地修改我的代碼(例如,我的代碼庫位於我的文檔中,代碼位於哪裏,這是我編輯的位置),是不是已經「改變我的本地回購」?爲什麼我必須提交?

回答

3

當您修改代碼時,您正在創建對文本文件的更改。文本文件無法記錄您何時以及如何進行更改,它始終反映最新版本。

當你告訴git你想提交更改時,git會分析現在和最後一次提交時文本文件之間的差異。它以高度壓縮的方式存儲這些更改。即它不存儲整個文件。

你現在可以做出更多的改變,再次提交,git會存儲上次提交和文件當前狀態之間的差異或'deltas'。

通過這種方式,您只需通過撤消提交堆棧就可以將文件回滾到任何提交狀態。

+1

那麼它的「本地回購」一些壓縮,深奧的文件位於不是我的工作代碼文件夾的地方?它記得有多少次提交? – MyNameIsKhan

+2

是的。本地回購通常位於源代碼樹中每個目錄的.git子目錄中。領先的'。'使目錄隱藏。 Git會記住您創建回購點時的所有提交。它還可以記住跨多個分支的提交。這個信息的好資源是http://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository –