理解git首先要對它自己的主要概念理解清楚,這個我看了一邊後又重新梳理了一邊思路,提取了幾個自己很容易誤解和難區分的概念,在這裡詳細介紹下==
工作區:就是你在電腦裡能看到的目錄,比如我的learngit資料夾就是乙個工作區。
暫存區:工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。
git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head。
提交過程:
因為我們建立git版本庫時,git自動為我們建立了唯一乙個master分支,所以,現在,git commit就是往master分支上提交更改。
分支之下有版本,分支有合併,版本沒有合併,push與pull只會涉及分支不會涉及版本。 這個灰常重要。分支切換用checkout,版本切換用reset
版本:在同乙個分支上的不同版本,版本之間可以相互切換,版本對應的是修改,不是對應檔案。
分支:你建立了乙個屬於你自己的分支,別人看不到,還繼續在原來的分支上正常工作,而你在自己的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上,這樣,既安全,又不影響別人工作。
其他版本控制系統如svn等都有分支管理,但是用過之後你會發現,這些版本控制系統建立和切換分支比蝸牛還慢,簡直讓人無法忍受,結果分支功能成了擺設,大家都不去用。
$ git checkout -b dev
$ git add readme.txt
$ git commit -m "branch test"
$ git checkout master
$ git merge dev
期間你可以用git branch檢視有那些分支 GIT基本概念
工作區是個工作目錄,實質上就是我們的在開發過程中對其進行新增 編輯的源 包括標頭檔案 原始檔和配置檔案 在工作區中有乙個隱藏檔案 git 它不屬於工作區,而是git版本庫。該檔案下包括很多其他檔案,其中重要的是暫存區 git index 物件庫 git objects 分支 master分支和其他分...
git基本概念
為了便於管理,git要求每個遠端主機都必須指定乙個主機名。git remote命令就用於管理主機名。不帶選項的時候,git remote命令列出所有遠端主機。一旦遠端主機的版本庫有了更新 git術語叫做commit 需要將這些更新取回本地,這時就要用到git fetch命令。預設情況下,git fe...
git 基本概念
git 引用 版本庫中檔案三種狀態 已修改 modified 已暫存 stagged 已提交 committed 三大工作區 工作目錄 暫存區和版本庫 倉庫 工作區下的檔案狀態 未被追蹤 untracked 被追蹤 tracked git存放的是版本資訊 git目錄 說明倉庫子目錄 功能描述 bra...