Skip to content

配置

Git for Windows 升版

bash
git version / git --version

# Version between 2.14.2 and 2.16.1
git update

# Version after 2.16.1
git update-git-for-windows

為命令設定別名

bash
# 為 branch 設定別名
git config --global alias.br branch

分支管理

建立新的分枝

bash
# 建立新分枝
git branch <new-branch>

# 設定本地與遠端分支的關聯
git push --set-upstream origin <new-branch>

# 建立並切換到新分支
git checkout -b <new-branch>

建立空白分枝

bash
# 建立獨立分枝
git checkout --orphan <new-branch>

# 清除 unstaged 暫存檔
git rm -rf

# 允許不做變更的異動
git commit --allow-empty
git push

取得當前分枝名

bash
# Version before 2.22
git rev-parse --abbrev-ref HEAD

# Version after 2.22
git branch --show-current

將分枝重新命名

  1. 在本地重新命名分支名稱
bash
git branch -m <new-branch>
# OR
git branch -m <old-branch> <new-branch>
  1. 將修改後的分支推送至遠端
bash
# 刪除遠端舊分支
git push origin -d <old-branch>
# 將本地新分支推送到遠端
git push origin <new-branch>

或簡化為

bash
git push origin :<old-branch> <new-branch>
  1. 設定本地與遠端分支的關聯
bash
git push --set-upstream origin <new-branch>

刪除分枝

註:-d--delete 的簡寫,-D--delete --force 的簡寫

bash
# 刪除本地分枝
git branch -d <branch>
# 強制刪除本地分枝(分枝尚未被推送或合併)
git branch -D <branch>

# 刪除遠端分枝
git push origin -d <branch>
# OR
git push origin :<branch>

取得已併回/未併回分枝

bash
# 取得本地端已併回 develop 的分枝
git branch --merged develop
# 取得本地端未併回 develop 的分枝
git branch --no-merged develop

# 取得遠端已併回 develop 的分枝
git branch -r --merged origin/develop
# 取得遠端未併回 develop 的分枝
git branch -r --no-merged origin/develop

修改與異動

關於暫存異動

  • 顯示暫存清單
bash
git stash list
  • 暫存目前的更改(包括未追蹤檔案)
bash
git stash push --include-untracked
  • 暫存暫存區內的修改
bash
git stash push [-S|--staged] [<message>]
  • 暫存在工作目錄(暫存區外)的更改
bash
git stash push --keep-index
  • 從暫存中恢復最新的暫存,可以加入暫存 ID 的參數 (stash@{1}) 來恢復特定變更
bash
git stash pop / git stash apply

補充:popapply 的差別在於前者會將暫存紀錄釋放,後者則不會

  • 刪除暫存,可以加入暫存 ID 的參數 (stash@{1}) 來刪除特定變更
bash
git stash drop
  • 刪除所有暫存
bash
git stash clear

排除不應該納入版控的檔案

首先在專案建立 .gitignore 來過濾需要排除的目錄或檔案

接著清除所有本應被忽略但已被追蹤的檔案

bash
git rm -r --cached [<file>]

提交更改後,恭喜獲得一個乾淨的專案!


問題排解

PowerShell 回報 error: unknown switch e'` 錯誤

在 PowerShell 程式設計語言中,腳本區塊是語句或表達式的集合,可用來做為單一單位。 語句的集合可以括在大括弧中,{}定義為函式,或儲存在腳本檔案中。 腳本區塊可以傳回值,並接受參數和自變數。

因此,欲在 PowerShell 使用大括號需要加上引號或反引號作為跳脫字元。

以 VitePress 建置,內容以 CC BY-NC-SA 4.0 釋出。