g4e基礎篇#4 瞭解Git存儲庫(Repo)

章節目錄git

前言github

1. 基礎篇:windows

Git 存儲庫看上去就是一個文件夾,只是在這個文件夾中不只僅保存了全部文件的當前版本,也同時保存了全部的歷史記錄,這些額外的信息都保存在當前文件夾下面的.git子目錄中。由於前面咱們所描述的git跟蹤改動的特殊方式 ,git能夠在很小的開銷下保留很是複雜的歷史記錄,同時也因爲這種跟蹤方式,使得git能夠經過改變連接指向的方式隨時切換當前目錄中任何文件的版本,從而實現了在同一套文件系統上切換分支的功能。微信

雖然git是分佈式版本控制系統(DVCS),可是在企業開發中,咱們仍然須要一箇中心git存儲庫以便不一樣的團隊成員能夠更爲方便的交換代碼。與集中式(CVCS)的中心存儲庫不一樣,Git的中心存儲庫與任何開發人員的本地存儲庫都保留了一致的代碼變動,所以開發人員沒必要鏈接到中心存儲庫就能夠完成獲取歷史記錄,拉取分支,合併分支等操做;這給予了每一名開發人員離線工做的能力,同時容許每一個人在本地建立本身的分支結構進行嘗試,在開發人員認爲本地的分支須要共享給其餘人的時候,他們能夠將本地分支推送至中心存儲庫,這樣其餘開發人員也能夠獲取這些共享的更改。因此,在企業中使用Git並配合中心存儲庫能夠兼顧團隊開發中共享和獨立開發的訴求,讓開發人員具有很高的自由度的同時又不會喪失代碼集中存儲所帶來的優點。markdown

git-repo-1

固然,開發人員也能夠不經過中心存儲庫共享代碼,可是這種作法在企業中是不推薦的,雖然在GitHub上這基本上是廣泛的工做方式,可是這種工做方式並不適合與企業開發。與開源軟件不一樣的是,大多數企業開發都是多人協做完成同一個項目,而開源代碼的開發則更須要每一個人具有獨立的版本根據本身的須要進行定製。運維

Git存儲庫的基本結構

git-repo-2

注:在任何的操做系統中,使用.開頭的目錄都會被默認隱藏掉,因此要看這些文件須要打開隱藏文件顯示和擴展名顯示才能看到上面的視圖。ssh

.git目錄分佈式

git的數據目錄,裏面保存了git本身管理的數據文件,用於實現git的各類功能;刪除這個文件等同於刪除全部git歷史記錄,而你的目錄就變成了一個普通的文件目錄。ide

.gitattributes文件工具

用來對當前目錄中的git的一些行爲進行配置的文件,它可以作到不少事情,好比:指定哪些文件是二進制的以便git不會對它們進行文本比較,指定使用metadata的方式對圖片文件進行比較,指定分支間特定文件的合併策略(好比保持master爲固定版本,忽略任何合併進來的版本),或者在暫存文件的時候調用某些腳本執行一些動做,等等。

詳細說明:https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes

.gitignore 文件

這是一個很是重要的配置文件,用來指定哪些文件應該被忽略掉。由於咱們在開發中常常會建立不少臨時文件,好比:編譯過程的中間文件和最終產生的二進制,這些都不該該被提交到git倉庫中。所以咱們須要根據不一樣的技術棧來配置這個文件以即可以正確的忽略那些不該該提交的文件類型。

好在github上已經收集了基本全部你會用到的gitignore文件,只要根據你所使用的技術棧選擇並放入存儲庫便可:https://github.com/github/gitignore

Git的三級配置系統

以上咱們在某個git倉庫中看到的.gitignore和.gitattributes都屬於Git的三級配置系統的一部分,用於對當前倉庫進行配置,另外兩個級別分別是 global 和 system。 他們的結構以下

  • system
    • global
      • repo 1
      • repo 2

系統級

system 爲系統級配置文件,在Windows上存放於Git的安裝目錄下(默認位置爲C:\Program Files\Git\mingw64\etc\gitconfig)。若是要直接對這個配置進行編輯可使用如下命令

git config --edit --system

git-repo-3

注:編輯系統級配置的命令行窗口須要提高權限運行,不然沒法保存。

用戶級別

global 爲當前用戶的全局配置文件,在Windows上存放於當前用戶的根目錄(默認爲 C:\Users\{你的用戶名\.gitconfig)。若是要直接對這個配置進行編輯可使用如下命令

git config --edit --global

git-repo-4

注:你會注意到咱們在Git安裝配置那一章中所作的配置實際上就是在修改這個文件。

存儲庫級別

Repo 級別就是當前存儲庫的配置文件,存放在當前存儲庫的根目錄,編輯時須要先進入當前存儲庫的目錄,再執行如下命令

git config --edit

git-repo-5

以上咱們提到的.gitattribute .gitconfig .gitignore均可以經過這三個級別分別配置,越接近git repo的配置生效級別越高。

有關gitconfig的更多配置內容請參考:FAQ #2

獲取Git配置的庫的兩種方式

新建存儲庫

只須要新建一個目錄,而後在裏面執行 git init 命令便可完成 git 庫的建立。具體命令操做以下

>> mkdir my-new-repo
>>> git init

git-repo-6

克隆存儲庫

首先從遠程存儲庫獲取clone地址,而後使用git clone命令便可完成克隆操做。若是遠程存儲庫是開放的,那麼克隆會當即開始;若是遠程存儲庫是私有的,則要看你以前是否已經將帳號信息經過Git Credential Manager存儲,若是沒有則會彈出登錄對話框。相似如下流程:

1. 獲取Git存儲庫地址

若是你已經按照以前的安裝配置要求建立了VSTS帳號,你則能夠經過 代碼 | 克隆 找到存儲庫的url地址

git-repo-vsts-1

複製這個地址,咱們就能夠進行後續的 clone 操做了。

2. 運行 git clone 命令,輸入帳號並完成克隆操做

>>> git clone {遠程存儲庫url}

第一次操做一個陌生的遠程存儲庫會須要你輸入用戶名和密碼

git-repo-vsts-2

輸入正確的用戶名和密碼後,克隆會開始,完成之後你就能夠開始操做本地git存儲庫了。

git-repo-vsts-3

小結

至此,咱們已經能夠獲取一個Git存儲庫了,後面的篇章咱們將開始對它進行最基本的代碼修改,分支,合併,推送和歷史記錄查看等基本操做。


相關文章:


請關注微信公衆號 【devopshub】,獲取更多關於DevOps研發運維一體化的信息

qrcode_for_gh_b7c158df1fd1_430

相關文章
相關標籤/搜索