天天看點

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

本文旨在幫助大家簡單入門Git,木有什麼高深東西;)

用淺顯易懂的話語解釋各種常用git指令

Git簡介

什麼是Git?

Git(讀音為/gɪt/)是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。 -源于百度百科(2020.07.30)

Git來源:

Git是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放源碼的版本控制軟體。

Git工作流程

我jio(覺)得了解Git的工作流程将有利于我們對Git的學習和認識

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

簡單的畫了,大家看看就好,記住其中緩存區和HEAD倉庫(後文有寫成版本庫,大家先這麼了解吧) 緩存區後文會經常提到。

Git基本使用

  • 常用指令

這裡先列出幾個常用指令友善大家查詢(小白可以先跳過看下面解釋說明)

指令 作用
git init 建立新的git倉庫
git clone xxx 克隆git倉庫(xxx為倉庫位址,可以是網絡連接配接,後面會有解釋)
git add (filename) 将檔案添加到緩存區
git commit -m “info” 将檔案送出到本地倉庫
git status 檢視在你上次送出之後是否有修改
git branch (branchname) 建立分支
git checkout (branchname) 切換分支
git branch 列出本地倉庫目前所有分支
git branch -d (branchname) 删除分支
git push origin xxx 将本地倉庫分支送出到遠端倉庫 xxx為分支名
git pull 将更新你的本地倉庫至最新改動,拉取代碼
git reset --hard commitid 回退到任意版本(commitid可使用下面git log查詢到)
git checkout – filename
git rm filename 删除版本庫(倉庫)中檔案
git log 送出日志(我們可以用 --oneline 選項來檢視曆史記錄的簡潔的版本)
更多指令大家可以自己探索,這裡簡單舉例一些(主要原因部落客敲不下去了:))
  • 基本操作

下面所有指令均在git bash(git預設安裝後在開始菜單裡面會有)中運作(Linux直接在指令行運作即可)

建立一個倉庫

首先建立一個檔案夾,這個檔案夾位址就是你本地倉庫的位址了。

git使用 git init來初始化一個倉庫

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

這樣初始化後檔案夾下會出現一個.git的檔案夾(部分人可能執行上面步驟後卻發現沒有.git檔案夾原因是因為.git是一個隐藏檔案夾,可以使用dir這個指令來查詢) 這個目錄是用來跟蹤版本管理的,是以沒事不要改動裡面的檔案,否則會破壞git倉庫。

添加檔案 and 送出檔案到倉庫

首先我們這裡需要明白一件事,git隻可以跟蹤文本檔案(代碼),它可以告訴你文本檔案每次的改動,但是無法跟蹤圖檔、視訊這些二進制的檔案,雖然可以使用git類版本控制工具管理,但是它無法告訴你每次二進制檔案的變動地方。

  1. 我們先在test這個檔案夾下建立一個文本檔案名為“README.txt”
  2. 使用

    git add

    來将檔案送出到緩存區,具體如下圖
    Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用
    執行後如果會空出一行且沒有任何提示說明添加成功
  3. 使用

    git commit

    來将緩存區的檔案送出到倉庫如下圖
    Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用
    其中-m 後的内容為送出備注(注意:内容需要使用’'單引号)
  4. 下面我們可以用

    git status

    來查詢是否還有其它檔案沒有送出
    Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

    我們可以看到提示沒有檔案沒有送出到倉庫了

    如果下面有出現檔案名為綠色 說明該檔案已經送出到了緩存但并未送出到倉庫可以使用

    git commit

    來送出

    如果有檔案名為紅色說明該檔案有改動但未送出到緩存區,可以使用

    git add

    送出到緩存區(重複上面步驟)
    Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用
  5. 使用

    git diff

    來看看檔案到底進行了那些操作
    Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用
    其中git diff 後面添加需要查詢的檔案名,會對目前未添加至倉庫的檔案和倉庫中已有檔案進行對比。

回退曆史版本

方法一:

當我們送出過很多次代碼時,要檢視送出曆史時,我們可以用

git log

來查詢曆史送出記錄

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

如果記錄很多的時候看起來可能會很亂,是以可以在git log 後加–pretty=oneline

git log --pretty=oneline

這樣記錄就會從最近的送出到最舊的一次送出排列。

現在我們擷取到了送出曆史記錄,那要怎樣回退到曆史的版本呢?

我們可以使用

git reset --hard commitid

其中commitid就是上圖後面的那段字元串

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

方法二:

這裡我們介紹下

git reset --hard HEAD

可以退回到指定版本,那又要怎麼查詢版本呢?

可以通過

git reflog

指令來查詢

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

查詢到了版本号後,我們就可以使用

git reset --hard HEAD

(HEAD換成你需要的版本号)指令來指定退回到某個版本 這樣有點麻煩,當然如果你記得你送出過次數,也可以

git reset --hard HEAD^

這樣即可退回到上一個版本。

那如果退回到上上個版本呢?

當然我們可以用

git reset --hard HEAD^^

以此類推,那如果有100個曆史版本有怎麼辦呢?這時,我們就可以這樣

git reset --hard HEAD~100

撤銷與删除檔案

如果你有堅持看到這裡,你會發現,我們一直說到這裡都在說怎麼添加檔案,卻從未說過怎麼撤銷操作,這裡我們将介紹一下如果撤銷與删除,畢竟

人非聖賢孰能無過

當你無意犯了一個錯誤,但在送出到倉庫前發現了這個問題且使用git status發現還沒有commit到倉庫,這時就可以使用

git reset HEAD filename

把在緩存區的檔案撤銷

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

一般有時候開發者會删除一些不需要在使用的檔案時,在删除後,當你在使用 git status時,git發現工作區和倉庫檔案不一緻時,就會有提示,這時候可以使用

git rm

即可從版本庫中删除該檔案然後在git commit即可

Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

當然在你誤删檔案且未使用’git rm’指令的時候也可以使用

git checkout -- filename

來恢複到版本庫中最後一次送出的版本

倉庫分支管理

在我們初始化倉庫的時候我們會發現倉庫路徑後面會出現一個(master),這說明,在我們建立倉庫中預設分支為master分支,那我們可不可以自己建立一個分支呢?

答案是可以的,下面先給大家介紹幾個關于分支的指令吧。

git checkout -b branchname  建立并切換到該分支
git branch branchname  建立分支
git checkout branchname  切換到分支
git branch  檢視目前分支
git merge branchname  合并分支到master分支
git branch -d branchname  删除分支
           
Git基本使用指南及簡單說明Git簡介Git工作流程Git基本使用

這裡應該還是挺簡單的,就簡單示範一下吧,不過多解釋了。

拉取(克隆)和送出倉庫

這裡先簡單提下吧,後面應該會寫一篇git與GitHub或gitee的使用(先給自己挖一個坑)

git clone xxx   xxx為遠端倉庫位址
git remote add origin xxx   關聯遠端倉庫  xxx為遠端庫位址
git push     将我們的倉庫推送到遠端倉庫
           

如果有什麼問題歡迎大家指正!

本文僅簡單介紹了一些git操作,還有更多大家就自己摸索了吧。

在寫這篇文章的時候發現自己很多指令忘了。

雖然現在有很多工具都有內建git插件,可視化界面,可我覺得這種最純粹的方式也應該是不能遺忘的。