welcome to Cheeto's blog

0%

Git 筆記

git 筆記

Github 是前端工程師在業界當中不可或缺的版本控制工具,所以必須熟練熟練再熟練!!!

基本指令

  • git init - 建立一個本地的數據庫。
  • git add . - 將所有修改過或是沒有 commit 過的檔案加入索引。
  • git status - 檢查本地數據庫的檔案狀態。
  • git commit -m 備註 - 把索引內檔案提交到本地數據庫。
  • git log - 查詢目前分支所有 commit 的紀錄。
  • git reset –hard - 還原工作目錄與索引,會跟最後一次 commit 保持一樣。
  • git reset HEAD - 全部檔案取消索引。
  • git blame - 檢視檔案每一行是誰編輯的紀錄。

branch 分支

branch 是在開發上非常重要的一個環節,開發新功能之類的都必須在 branch 上面開發並修復 bug,結束後才會去合併到主分支。

  • git branch - 查詢現在這個 repository 有哪些分支。
  • git branch 分支名稱 - 新增一個分支。 Ex: git branch develop1 ( 新增一個 develop1 的分支 )
  • git checkout 分支名稱 - 讓現在的位置轉移到你所輸入的分支名稱的分支上。 Ex: git checkout develop1 ( 把現在的位置轉移到 develop1 的分支上 )
  • git checkout 標籤名稱 - 讓現在的 commit 回到你所輸入的標籤上。 Ex: git checkout v1 ( 把現在的 commit 位置轉移到 v1 的標籤上 )

merge 合併

當分支開發好了之後,就會跟在支線與支線之間進行合併,這時候就會利用到 merge。

  • git merge 分支名稱 - 合併分支。 Ex: git merge develop1 ( 將當前所在的分支與 develop1 進行合併 )

tag 標籤

如果在這個 commit 的位置上有什麼特別想要標記的,例如說這個 commit 是網站的第二版,那就很適合用 git tag 來標記起來,未來如果需要在回來看看之前第二版的網站的話就很方便囉!

  • git tag - 查詢現在這個 repository 有哪些標籤。
  • git tag -n - 使用 git tag 的話只會看到簡易的標籤名稱,如果想要看到備註內容的話可以輸入這個指令,簡易標籤會預設輸入 commit 的名稱。
  • git tag 標籤名稱 - 新增一個簡易標籤。 Ex: git tag v2 ( 新增一個 v2 簡易標籤 )
  • git tag -am ‘標籤內容’ 標籤名稱 - 新增一個有標記的標籤。 Ex: git tag -am ‘only test’ test ( 新增一個標籤內容 ‘only test’;名為 test 的標籤 )
  • git tag -d 標籤名稱 - 刪除標籤,可以指定一個標籤名稱進行刪除。 Ex: git tag -d v2 ( 刪除名為 v2 的標籤 )

stash 暫存

暫存在專案開發有著不可或缺的價值,那它主要的作用有:

  1. 當我們臨時要去處理其他分支時,可以將現在的資料站存起來。
  2. 可以利用暫存把資料轉移到其他分支上面。

那就讓我們來看看指令 ↓

  • git stash - 暫時儲存當前的目錄,會回到最新 commit 後初始的樣子。
  • git stash list - 瀏覽所有 stash(暫存) 的列表。
  • git stash pop - 還原暫存紀錄。 ( 還原後暫存紀錄也會自動移除 )
  • git stash drop - 清除最新的暫存紀錄。
  • git stash clear - 清除所有的暫存紀錄。

遠端數據庫

遠端數據庫的操作可以利用下面這些方法 ↓

  • git clone ‘git連結’ - 複製遠端的數據庫資料下來,也會自動追蹤這個遠端數據庫。
  • git remote - 查詢遠端的數據庫。
  • git remote rename 原名稱 新名稱 - 更改遠端數據庫的名稱。 Ex: git remote rename origin main ( 把名為 ‘origin’ 的數據庫更名為 ‘main’ )
  • git remote add 主機名稱 git連結 - 能夠連結遠端數據庫,並且設定一個主機名稱給它。 Ex: git remote test https://github.com/hoongyuu/Git-practice.git ( 新增一個主機名稱為 test 連接到網址上的數據庫 )
  • git push 遠端主機名稱 分支名稱 - 把資料傳送到遠端數據庫上。 Ex: git push origin develop1 ( 把分支 develop1 傳送到名為 origin 的遠端數據庫上 )

下載遠端數據庫

當我們在製作專案時,可能同事會先 push 檔案到遠端數據庫,那就應該要把遠端數據庫的資料下載下來進行更新。

  • git pull - 下載遠端數據庫的資料進行更新。
  • git fetch - 下載遠端資料庫的資料,資料會移到一個名為 FETCH_HEAD 的分支,可以先看過確保檔案沒有問題再進行合併。 pull 就是 fetch + merge 的組合技。

結語

這篇文章將會隨著自己的成長不斷的增加! 未完待續 …