git基本概念和流程

git是什麼呢?
接觸過分佈式和集羣的概念,相信大家都知道,分佈式是每臺服務器做同一件事,而集羣則是有中心化的思想。
相當於對應我們的git分佈式,和svn集中式版本管理。
git的機制相當於每個人都需要維護自己的服務器就好了,git是維護的是你更改的東西(比如你多少行發生改變,記錄的是改變的東西),而svn就不同了,版本中心不要你維護,你需要維護是個人的文件和代碼。

特點一:
直接記錄快照,而非差異比較。直接記錄的是你改變了什麼,而不是同svn一樣比較文件的差異。
特點二:
近乎所有操作都是本地執行。差不多大部分時間的操作都是基於自己本地的倉庫,相對於svn來說速度快上許多。
特點三:
Git 保證完整性,不管你做了什麼操作,git都可以檢測的到。
特點三:
Git 操作,幾乎只往 Git 數據庫中 添加 數據。

三個區域概念
工作區,工作的區域,Git 倉庫的壓縮數據庫中提取出來的文件,放在磁盤上供你使用或修改。
暫存區,git獨有的概念,其實是一個文件列表。保存的是下次需要提交的文件。
倉庫,保存的是項目的元數據和對象數據庫的地方。我們所說的克隆倉庫,其實就是拷貝這裏的內容或者是數據。

三種狀態
已修改(modified)
文件已經修改,暫時沒有保存到數據庫。 如果自上次檢出後,作了修改但還沒有放到暫存區域,就是 已修改 狀態。
已暫存(staged)
文件修改後已經上傳至暫存區,等待下一次進行提交。 如果文件已修改並放入暫存區,就屬於 已暫存 狀態。
已提交(committed)
文件已經上傳至本地Git數據庫。如果 Git 目錄中保存着特定版本的文件,就屬於 已提交 狀態。

附上官網的流程圖:
插入圖片描述
可以清楚的看到,提交的過程:
由工作區提交到暫存區,再有暫存區提交到本地倉庫中。注意工作區不可以直接提交到本地倉庫中,如果你直接提交到本地倉庫,其實是不會成功的,其實提交到的地方是暫存區。這個需要注意,不要嘗試不規範的做法,如果可以的話,Git就不會設計成兩段提交。

Git的基本流程如下:
1.在工作區中修改文件。
2.將你想要下次提交的更改選擇性地暫存,這樣只會將更改的部分添加到暫存區。
3.提交更新,找到暫存區的文件,通過快照的方式永久的保存在倉庫區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章