Web開發學習筆記19 — Git


Posted by Teagan Hsu on 2021-01-10

Git是什麼?

Git為現今業界最普遍的程式版本管理系統,所以一定要學Git!

Git基本指令

git init:初始化

在專案資料夾的目錄輸入,git init就會自動產生一個隱形資料夾.git

git init

git status:查看add狀態

git status

隨時查看檔案的狀態有沒有被track。

git add:把檔案加入Stage

git add          //加入Stage
git rm --cached  //取消Stage

git add .git add --all的差異

  • git add .
    • 只限於cd目錄底下的檔案會被add
  • git add --all
    • 這個目錄的母層或子層裡的檔案都會被add

git commit:把檔案加入local repository

假設編號是7ff8ec5。如果想取消剛剛的commit,可以使用7ff8ec5^代表退一回上一步,如果想退回前兩步就打7ff8ec5^^,以此類推。

git commit //會進入vim,需要寫入"更改的內容、地方"
git commit -m "更改的內容、地方" //直接跳過vim
git reset  [編號]^ //取消commit

如果commit後,版本後面有改動記得要先add一次再commit
也可以使用git commit -a -m "更改的內容、地方",一次做到addcommit、輸入訊息,但此方法僅限於舊檔案(已經有被add過的檔案)。如果是新檔案(還沒被add的檔案)是無效的。

git log:查看commit的資料

git log
git log --oneline //精簡版
git log --graph   //多了路線圖

git branch:支線

每個支線都有自己不同的任務,預設為master。

git branch    //開新支線
git branch -v //查看支線

git checkout:切換支線

git checkout [支線名字]

git merge:合併支線

git checkout [主支線名稱]   //merge前先checkout到主支線
git merge    [副支線名稱]   //再將new支線合併到master裡

git remote add:添加遠端數據庫

假設自定義簡稱為test,之後我們要push時直接打test就代表了整個url。

git remote add [自定義簡稱][github的url]

git push:添加遠端數據庫

假設剛剛remote add自定義簡稱為test,要push時則打成:git push test [支線名稱]

git push [自定義簡稱] [分支名稱]

git pull:從遠端數據庫拉回到本地

git pull [自定義簡稱] [分支名稱]

git colone:從遠端數據庫下載一份回本地

git clone [github的url]

git reset:重新reset

  • git reset
    • --mixed:檔案退回working directory
    • --soft:檔案退回staging area
    • --hard:檔案直接掰掰

--soft:

--hard:

怎麼救被--hard的檔案?

reset回原本的檔案就可以了!
示範中輸入git reset --hard 47b4892後,看看git log裡的資料的確47b4892回來了!

Git的示意圖

畫了一張圖,可以更清楚git指令之間的關係:

VIM操作指令

  • Nomal模式:
    • :w 存檔
    • :q 離開
    • :wq 存檔離開
  • Insert模式:
    • i 進入insert模式
    • o 跳行
    • a append
    • ESC 進入Nomal模式

參考資料:

  1. Git - Book
  2. 第一週 版本控制 - 進階指令 & GitHub
  3. 為你自己學 Git

#Git







Related Posts

CSS 衍生的資安問題(上) - 初探 CSS Ingection

CSS 衍生的資安問題(上) - 初探 CSS Ingection

2021動物科學系的生物資訊職涯發展

2021動物科學系的生物資訊職涯發展

MTR04_0908

MTR04_0908


Comments