1. 程式人生 > >Git倉庫入門之搭建(一)

Git倉庫入門之搭建(一)

Git簡介

首先要問2個問題:
1、什麼是Git?
    Git是一種最常用、也是最好用的分散式版本控制系統。

2、為什麼使用Git而不是svn?
    Git是分散式版本控制系統,svn是中央版本控制系統,Git在本地和遠端都有版本庫。在無網路情況下,Git也可以進行版本控制,有網路的時候統一commit,但是svn只能在有網路的時候做版本控制。Git是按內容進行儲存,svn是按檔案進行儲存,Git的處理速度更迅速,特別是在外網伺服器上的處理。

Git檢測與安裝

  • 通過輸入git --version命令可以判斷Git工具是否安裝,如果提示
    bogon:~ issuser$ git --version
    git version 2.10.0


    則證明已經安裝

  • MacOS系統安裝Git倉庫有以下兩種方法:
    1、Xcode
    Xcode編輯器裡Components裡有Command line tool工具,下載安裝後自動包含了Git工具
    2、HomeBrew
    通過brew install git 命令可以安裝Git。

Git倉庫的建立與使用

  • 建立倉庫

    建立倉庫
    這裡先進入使用者檔案系統桌面目錄下,然後建立了一個叫testGit的資料夾。進入testGit,執行git init命令,如上圖提示即建立成功。

  • 開始使用我們的倉庫吧

    使用我們的倉庫吧
    新建一個readme檔案,輸入一行文字。
    使用git add readme.txt

    將該檔案加入我們的stage區域暫時儲存起來(此時還沒有更新到我們的版本庫中。)
    可以使用git status命令來檢視此時的狀態。
    上傳檔案
    終於到了這一步,要把我們的檔案更新到版本庫中了!使用git commit -m "add readme.txt"命令提交我們的檔案吧,-m 後邊可以新增我們對此次更新的描述。

    我們可以使用多次 git add的命令新增多個修改檔案,然後使用git commit命令來一起提交檔案。
    這裡寫圖片描述
    新增到版本庫之後,可以使用git log命令來列印更新日誌。如果嫌列印的內容太繁瑣,還可以git log --pretty=oneline來顯示簡潔版的日誌內容。

  • git diff

    在提交更新到版本庫之後,如果對本地工作目錄進行了修改,比如在readme.txt檔案裡添加了第二行:
    這裡寫圖片描述
    可以通過git diff功能來對比工作目錄和stage裡的區別。然後再通過git add 和 git commit命令進行提交。

    如果想撤銷本地修改的檔案該怎麼辦呢?

  • 撤銷本地工作目錄的修改

    這裡寫圖片描述
    使用git checkout -- readme.txt命令,可以將本地工作目錄已修改的內容恢復至修改之前(我理解為將stage暫存區域的readme.txt檔案直接覆蓋本地檔案,理解不對請大神指出)。

    如果不小心已經執行過git add readme.txt命令,已經將修改的內容提交到了stage暫存區域了(幸好還沒有commit),那要怎麼辦呢?

  • 撤銷stage暫存區域內的修改

    這裡寫圖片描述

    • 首先通過git status來檢視此時stage的狀態,可以看到提示裡 (use "git reset HEAD <file>..." to onstage)這句話

    • 其次使用git reset HEAD readme.txt命令來將stage的修改回退。

    • 最後使用上次撤銷本地工作目錄修改的方法git checkout -- readme.txt,執行完之後cat 下我們的檔案,是不是已經恢復到之前的內容了?

    如果又不小心已經執行過git commit -m "modify readme.txt"命令,已經將修改的內容更新到了版本庫中,那是不是沒救了??不然,我們還有最後一個方法!

  • 版本庫回退

    這裡寫圖片描述

    人生沒有退路,但是在Git中有!在Git中,是有後悔藥可以吃的^_^。
    當你用版本庫回退操作時,必須用到你之前commit時git生成的commit id。很幸運Git提供了一個命令git reflog用來記錄你的每一次命令。
    通過使用git reset --hard 15b1da3(15b1da3是你要回退的之前的commit id),可以輕鬆將版本庫、stage、本地工作目錄都恢復到修改之前的狀態。

  • 刪除檔案

    這裡寫圖片描述

    rm 是linux系統下刪除檔案的命令,對於從linux下誕生的Git工具來說,當然是適用的~
    通過git rm 1.txt命令就可以將我們不需要的檔案刪除啦,當然刪除後別忘了提交一下git commit -m "remove 1.txt"啦。

結束語

好了,終於寫完了。。。

看到這裡基本學會了Git的搭建和簡單使用,下一篇我們將繼續學習本地倉庫的使用。