Git operations
配置¶
Git for Windows 升版¶
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
為命令設定別名¶
# 為 branch 設定別名
git config --global alias.br branch
分支管理¶
建立新的分枝¶
# 建立新分枝
git branch <new-branch>
# 設定本地與遠端分支的關聯
git push --set-upstream origin <new-branch>
# 建立並切換到新分支
git checkout -b <new-branch>
建立空白分枝¶
# 建立獨立分枝
git checkout --orphan <new-branch>
# 清除 unstaged 暫存檔
git rm -rf
# 允許不做變更的異動
git commit --allow-empty
git push
取得當前分枝名¶
# Version before 2.22
git rev-parse --abbrev-ref HEAD
# Version after 2.22
git branch --show-current
將分枝重新命名¶
-
在本地重新命名分支名稱
git branch -m <new-branch> # OR git branch -m <old-branch> <new-branch> -
將修改後的分支推送至遠端
或簡化為# 刪除遠端舊分支 git push origin -d <old-branch> # 將本地新分支推送到遠端 git push origin <new-branch>git push origin :<old-branch> <new-branch> -
設定本地與遠端分支的關聯
git push --set-upstream origin <new-branch>
刪除分枝¶
註:-d 為 --delete 的簡寫,-D 為 --delete --force 的簡寫
# 刪除本地分枝
git branch -d <branch>
# 強制刪除本地分枝(分枝尚未被推送或合併)
git branch -D <branch>
# 刪除遠端分枝
git push origin -d <branch>
# OR
git push origin :<branch>
取得已併回/未併回分枝¶
# 取得本地端已併回 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
修改與異動¶
關於暫存異動¶
-
顯示暫存清單
git stash list -
暫存目前的更改(包括未追蹤檔案)
git stash push --include-untracked -
暫存暫存區內的修改
git stash push [-S|--staged] [<message>] -
暫存在工作目錄(暫存區外)的更改
git stash push --keep-index -
從暫存中恢復最新的暫存,可以加入暫存 ID 的參數 (
stash@{1}) 來恢復特定變更git stash pop / git stash apply補充:
pop與apply的差別在於前者會將暫存紀錄釋放,後者則不會 -
刪除暫存,可以加入暫存 ID 的參數 (
stash@{1}) 來刪除特定變更git stash drop -
刪除所有暫存
git stash clear
問題排解¶
PowerShell 回報 error: unknown switche'` 錯誤¶
在 PowerShell 程式設計語言中,腳本區塊是語句或表達式的集合,可用來做為單一單位。 語句的集合可以括在大括弧中,
{}定義為函式,或儲存在腳本檔案中。 腳本區塊可以傳回值,並接受參數和自變數。
因此,欲在 PowerShell 使用大括號需要加上引號或反引號作為跳脫字元。