git基礎原理

2021-07-23 19:26:20 字數 1805 閱讀 1949

分布式管理與集中式管理:

比較一:

比較二:

git的工作區域與檔案不同的狀態

每提交一次,都會包含乙個指向前乙個提交物件的指標,預設為master,並且自動向前移動。

master

指向新的版本:

新建乙個分支(git branch name)時,例如testing分支(git branch

testing),就會有乙個新的指標指向當前commit物件:

那麼,git

是如何知道你當前在哪個分支上工作的呢?其實它儲存著乙個名為

head

的特別指標。它是乙個指向你正在工作中的本地分支的指標(正指向master,所以master為當前所在分支):

切換到testing分支(git checkout testing),head指向testing分支,於是就可以在testing分支上開發了:

在testing分支上開發並commit之後:

切回master分支(git checkout master):

在master分支上commit之後,會形成分叉,此時若需要合併,就需要進行衝突處理了。

我們用(

遠端倉庫名

)/(分支名

)這樣的形式表示遠端分支。比如

origin/master

分支。例如:

假設你們團隊有個位址為

git.ourcompany.com

的git

伺服器。如果你從這裡轉殖,

git會自動為你將此遠端倉庫命名為

origin

master

分支的指標,在本地命名為

origin/master

,但你無法在本地更改其資料。接著,

git建立乙個屬於你自己的本地

master

分支,始於

origin

上master

分支相同的位置,你可以就此開始工作了。

此時向遠端提交**就會有衝突導致提交失敗,就需要拉取(git pull或者git fetch)**合併後進行處理,解決衝突,再進行提交到遠端倉庫(git push)。

參考自《pro git》

Git 基礎知識及部分原理

工作區 就是你在電腦上看到的目錄,比如目錄下testgit裡的檔案 git隱藏目錄版本庫除外 版本庫 工作區有乙個隱藏目錄.git,這個不屬於工作區,這是版本庫。git add 和 git commit 是把檔案先新增到暫存區,再提交到版本庫分支上 分支的增刪改查 git branch 建立分支 g...

git原理簡介

git 究竟是怎樣的乙個系統呢?請注意,接下來的內容非常重要,若是理解了 git 的思想和基本工作原理,用起來就會知其所以然,游刃有餘。在開始學習 git 的時候,請不要嘗試把各種概念和其他版本控制系統 諸如 subversion 和 perforce 等 相比擬,否則容易混淆每個操作的實際意義。g...

git 儲存原理

git與傳統的版本控制工具的區別在於 分布式。每乙個開發者都可以有自己的版本庫,可以對自己的版本庫提交,修改。對本地庫的修改可以在斷網的情況下進行。同時,專案組還有乙個中心庫,就git是分布式的,專案組也必須保證有乙份最最 權威 的 在中心庫,這份 就是穩定版本,是最終可以上線的版本。雖然git是分...