git初探 巨集觀上的git

2021-08-20 01:58:47 字數 1254 閱讀 6389

不知道你是不是也跟我有一樣的疑慮,雖然專案裡一直在用git,我們也能夠使用git進行**的管理工作,但是git究竟是什麼呢?它的工作原理又是怎樣的呢?---- 一頭霧水。 

git倉庫(我更願意將它理解為字典,當然,這是後話)

當我們執行完 git init 或 git clone 的時候,也就在本地自動生成了乙個git的相應倉庫,並且會預設生成乙個master分支(ps: master分支並不是特殊的存在,之所以幾乎每個倉庫都有,是因為在init時會預設建立)。

ok,當我們的本地倉庫建立完成後,下面我們來說說為什麼說git倉庫更像是乙個字典吧~

接下來,切入重點,首先讓我們從巨集觀上看一下,由上圖我們可以很容易看出,dev 是由master衍生出的分支,text分支則是在dev的f7a45版本上衍生出來的,而在這之後的所有版本都僅僅只跟當前分支有關,當然直到你將它合併到主支或它的父親身上。如果將整個git倉庫看作乙個字典的話,裡面的master與dev則是一級目錄,而它下面所對應commit生成的快照則為它的二級,text分支則為**。。。依次往下。構成了乙個龐大的字典,而所謂的指標更像翻看字典我們的手指,當我們翻看到那一頁時,當前頁面的前面的所有內容是我們所知曉的,而後面的東西則需要我們再去開拓,儲存在我們的記憶(git倉庫)中。

到這為止,我們講的都只是乙個俯瞰git倉庫的感覺,而在我們實際開發中,這本字典可能並不是像我們想的那樣 又那麼多那麼的章節,並且章節裡還巢狀著章節。

然後讓我們先來看下git裡的兩個區,當我們進入分支後,也就進入到了我們的工作區,而當我們進行檔案修改,執行 git add 時則是將我們修改好的檔案放入到暫存區裡儲存,當然我們可以多次進行add操作,而當我們執行commit的時候,則是將當前已經改動的檔案生成乙個帶有hash值的快照進行儲存到倉庫中,並將指標向前推進(也可以想象為我當前章節文章寫完,做了個儲存操作)。

那麼我們知道,很多人會認為master是乙個非常特殊的分支,那麼看了上圖,是不是發現master也並沒有什麼不同??所有其他分支該有的功能,master都有,其他分支沒有的,而master也沒有,哈哈,好吧那略微的不同也僅僅是因為它叫master而已,那麼介於它這略微的特殊,後面我們就暫且將它作為乙個主分支存在吧(當然你也可以定義任意乙個分支為主分支)。

哈哈,下面讓我們開啟乙個經典案例,幫助你更好的理解git吧~

Git初探筆記02

1 檢視已暫存的檔案在下次提交時的變化 可以用git diff cached命令 git diff cached 檢視已經暫存起來的變化 staged 和 cached 是同義詞 將修改或新新增的檔案放到暫存區後,就可以提交了,使用git commit命令,此時會預設開啟系統指定的文字編輯器來要求輸...

Git初探 筆記整理和Git命令詳解

首先先明確幾個概念 workplace 工作區 index 暫存區 repository 本地倉庫 版本庫 remote 遠端倉庫 當在remote 如github 上面clone乙個專案到本地時 假設專案名為gittest 在本地就會看到乙個名為gittest的目錄,目錄下有專案 和乙個名為.gi...

git教程(在Windows上安裝Git)

安裝完成後,在開始選單裡找到 git git bash 蹦出乙個類似命令列視窗的東西,就說明git安裝成功!安裝完成後,還需要最後一步設定,在命令列輸入 git config global user.name your name git config global user.email email ...