Git新手教程-從頭建立倉庫(三)

前言

在上篇文章中,咱們學習了版本控制系統的一些專業術語,咱們在計算機上也安裝了Git,併爲Git作了一些初始配置,好比添加點擊郵件,名字。及配置默認的Git的默認編輯器。在本篇文章中,咱們將學習倉庫的建立。在該篇文章中,咱們不只將學習以下三個命令git initgit clone、和git status,還將會學習該命令在IntelliJ IDEA or Android Sutdio中圖形界面的對應操做。git

在具體閱讀文章以前,咱們先簡單的瞭解一下這三個命令的做用。github

  • git init: 可讓咱們在計算機上從頭建立全新倉庫
  • git clone: 可讓咱們遠端拷貝倉庫到本地
  • git sataus: 可讓咱們查看倉庫的狀態

建立倉庫

在對倉庫進行commit或執行其餘操做以前,咱們須要建立一個實際存在的倉庫,要使用Git新建倉庫,咱們須要使用 git init 命令。bash

init 是英語單詞 "intializ」 的簡稱。服務器

當使用 git init 命令時,咱們在命令行中會獲得以下提示:編輯器

git的init命令使用.jpg

在上圖中個人倉庫的地址爲 documents/GitTest/GitTestProject ,固然你也能夠根據你本身目錄及項目名稱來建立Git倉庫。ide

git init 命令的做用

當咱們使用 git init 命令建立倉庫後,咱們能在當前目錄下獲得一個隱藏的 .git 文件夾,該文件夾下的內容記錄了咱們全部的commit,及其餘信息。該文件下的內容以下所示:工具

Git目錄結構.jpg

若是你已經使用Git管理你的項目,請不要直接修改.git文件夾下的任何文件。該文件下的內容是Git自身進行維護的。若是更改,會致使丟失一些重要的內容。切記不要刪除、編輯這些文件。學習

該目錄下的各個文件的做用大體以下:網站

  • branchs 目錄 - 存儲了全部項目有關的分支信息。
  • config 文件 - 存儲了全部與項目有關的配置設置。 Git 會查看 Git 目錄下你當前所使用倉庫對應的配置文件(.git/config)中的配置值。這些值僅適用於當前倉庫。 例如,假設你將 Git 全局配置爲使用你的我的電子郵箱。若是你想針對某個項目使用你的工做郵箱,則此項更改會被添加到該文件中。
  • Head 文件 - 指示當前Git項目處於哪一個分支。
  • description 文件 - 此文件僅用於 GitWeb程序使用,咱們無需關係。
  • hooks 目錄 - 咱們會在此處放置客戶端或服務器端腳本,以便用來鏈接到 Git 的不一樣生命週期事件
  • info 目錄 - 目錄包含一個全局性排除(global exclude)文件,用以放置那些不但願被記錄在 .gitignore 文件中的忽略模式(ignored patterns)
  • objects 目錄 - 此目錄將存儲咱們提交的全部commit
  • refs 目錄 - 此目錄存儲了指向 commit 的指針(一般是「分支」和「標籤」)

關於branch(分支)、Head咱們會在接下來的文章中進行介紹,其餘的文件或目錄咱們能夠不用關心,固然若是你想了解更多的內容,能夠觀看官方文檔下:ui

克隆現有倉庫

固然除了使用 git init 來建立倉庫之外,咱們還能夠經過 git clone 命令來克隆現有的項目。經過 git clone 命令咱們能夠徹底拷貝一個項目。而被克隆的項目徹底是另外一個項目的副本。

在克隆任何項目以前,確保當前命令行以及在正確的目錄下,克隆項目會新建一個目錄,並將克隆的Git倉庫放入其中。在Git中是不容許建立 嵌套的Git倉庫 。所以當你使用 git clone 時,確保當前命令行所在的工做目錄沒有位於Git倉庫中。

下面咱們就使用 git clone 命令,來克隆咱們的項目吧。克隆一個項目的具體步驟爲:輸入命令 git clone,而後輸入你要克隆的 Git 倉庫的路徑。這裏以個人SimpleEyes項目(一個仿開眼的kotlin項目)爲例。該項目路徑爲:https://github.com/AndyJennifer/SimpleEyes

git clone https://github.com/AndyJennifer/SimpleEyes
複製代碼

固然除了使用Http協議克隆項目之外。咱們還可使用本地協議、SSH協議與Git協議。這裏以Git協議爲例:

git clone git@github.com:AndyJennifer/SimpleEyes.git
複製代碼

想要了解更多Git使用的協議能夠查看官方文檔-->服務器上的-Git-協議

git clone 輸出結果的簡要說明

輸入命令後效果以下所示:

git_clone展現.gif

這裏咱們簡單的介紹下 git clone 顯示的輸出結果。

第一行是"Cloning into 'SimpleEyes'…"。表示當前 Git 正在建立一個目錄(名稱與咱們要克隆的項目同樣),並將倉庫放在對應項目中。其他輸出結果基本都是驗證信息——也就是統計遠程倉庫的項目數以及當前的下載百分比。

克隆項目並使用不一樣的名稱

須要注意的是經過 git clone 命令克隆項目,默認狀況下,Git會把路徑最後一級目錄名做爲新克隆項目的目錄名(若是你的最後一級目錄名包括.git,會將該後綴去掉)。若是說咱們自定義項目名稱呢?粗暴而又簡單的方式是找到咱們克隆項目的地址,手動重命名便可。可是咱們不採用這種粗暴的方法。咱們能夠 使用以下命令:

git clone https://github.com/AndyJennifer/SimpleEyes  MyProject
複製代碼

對,就是如此的簡單,就是在原有的命令中添加空格,並輸入咱們自定義的項目名稱就能夠啦。

判斷倉庫的狀態

使用 git status 命令能夠顯示工做目錄和暫存區的狀態(在上篇文章咱們曾經提到過,Git的工做流程主要圍繞三個部分,工做區,暫存區與倉庫區)。它可讓你看到哪些更改已經被轉移,哪些沒有轉移,哪些文件沒有被Git跟蹤。進入咱們建立的Git倉庫,並輸入 git status 時,咱們能獲得下圖的輸出結果:

On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)
複製代碼

從輸出結果中,咱們能夠獲得兩條信息:

  • On branch master - 這部分告訴咱們 Git 位於 master 分支上。關於"master"分支(也就是默認分支)。咱們將會在後續的分支文章中介紹。
  • No commits yet - 表示項目中沒有任何提交,關於commit咱們也會在下文進行介紹。
  • nothing to commit (create/copy files and use "git add" to track) –表示沒有任何的提交信息,咱們能夠經過git add添加文件,使Git可以跟蹤。

注意:若是是第一次使用Git,咱們必定要經常使用 git status 命令來查看倉庫中文件或目錄的狀態。

關於更多的 git status 的更多內容,咱們能夠查看一下連接:

IntelliJ IDEA or Android Sutdio 圖形化界面的使用

瞭解了這三個命令後,咱們來了解一下,在 IntelliJ IDEAor Android Sutdio中Git存儲與清理的圖形化界面的對應流程。雖然命令行很是牛逼,可是有時候咱們也想偷個懶,對吧。讓咱們看看在IntelliJ IDEAor Android Sutdio中怎樣操做吧。

配置 Git 環境

在實際建立建立倉庫以前,咱們須要在咱們的 IDEA 中配置 Git ,咱們須要 IDEA 中依次點擊 Preferences -> Version Control -> Git ,而後在 Path To Git executable 上輸入安裝 Git 的位置,點擊右側的 Test 按鈕,若是成功彈出 Git executed successfully 彈框,說明配置成功,以下所示:

idea_配置_git.png

若是你不知道 Git 的安裝位置。

  • Mac 操做系統:終端中輸入 which git
  • Windows 操做系統:命令行中輸入 where git

git init 的使用

在編譯器中,咱們只要選擇工具欄中的VCS -> import into Version Control -> Creat Git Repository 就能夠從建立我本身的倉庫啦。

git-init展現.png

經過上述方式,最終會選擇一個倉庫目錄地址。這裏因爲篇幅限制就不具體描述啦。

git clone的使用

git clone 在IDEA中,有兩種操做流程以下圖所示:

第一種:

git-clone方式第一種.png

第二種:

git-clonet方式第二種.png

以上兩種方式均可以 clone 項目,只是叫法不一樣而已。固然這兩個操做點擊以後會走到以下流程:

clone界面展現.png

就是這麼簡單,和咱們使用命令行是同樣的~

git status

在編譯器中沒有可視化的操做界面來徹底顯示 git status 命令所執行的結果,而是以一種很是直觀的顏色來表示當前倉庫中的文件狀態。好比

  • 紅色:表示當前文件或目錄沒有被跟蹤或與其餘文件衝突。
  • 綠色:表示當前文件或目錄已經被添加到倉庫中了。
  • 藍色:表示被添加到倉庫中的文件或目錄被修改或移動。
  • 橙色:表示被忽略的文件。
  • 白色:表示沒有任何更改。

固然咱們能夠經過編譯器底部的Version Control中的local Changes查看咱們當前的倉庫狀態。以下圖所示,

git-status可視化界面展現.png

最後

站在巨人的肩膀上,才能看的更遠~

相關文章
相關標籤/搜索