Git 遠端概念、錯誤排除懶人包和常用指令
Git 教學現在有獨立的網站了!請移駕 Git 零到一百。
Git 遠端的邏輯是使用 remote 設定遠端的「別名」,然後每個分支可以根據使用這個別名與遠端儲存庫中的特定分支建立「追蹤關係」。
找不到遠端的處理方式
會到這裡十之八九都是遠端出現問題,這是我整理出來的解決流程
-
列出和新增遠端
git remote -vv
git remote add <name> <url> -
假設剛才設定的別名 是預設的
origin
,接著我們指定分支要追蹤的遠端,其中<local-branch>
是可選參數,如果不填入,預設為目前分支# 如果遠端已經更新記得使用 git fetch/git pull 獲取更新到本地
git branch -u origin/<remote-branch> [<local-branch>]
git branch -vv # 檢查設定是否成功,如果成功會出現 [<遠端名稱>/<遠端分支名稱>] -
之後我們就可以推送了
如果顯示沒有設定上游分支的話,使用此 -u 選項git push
git push -u <遠端名稱> <分支名稱>
還是有問題
正常來說照上面做就可以解決了,如果還是無法設定再使用這兩個步驟:
- 檢查遠端相關設定確認 origin 和 <分支> 確實存在
# 檢查
git remote -vv
git ls-remote --branches
# 更新遠端資訊
git fetch origin
# 更新完成後再重新執行一次 "找不到遠端的處理方式" 的操作
- 如果仍舊失敗就代表 remote 抽風了,使用以下指令重新設定遠端:
git remote remove origin
git remote add <url>
常用遠端指令列表
Git Remote
設定遠端名稱和地址的相關指令
git remote -vv # 顯示遠端倉庫
git remote add <name> <URL> # 增加遠端倉庫並指定名稱
git remote remove <name> # 刪除遠端倉庫
git remote rename <old> <new> # 重命名遠端倉庫
git remote set-url <name> <newurl> # 修改遠端倉庫的 URL
Git Branch
設定分支對應的遠端指令
# 更詳細的列出分支資訊
git branch -vv
# 列出所有本地分支和遠端追蹤分支
git branch -av
# 只列出遠端追蹤分支
git branch -rv
# 指定目前所在分支要追蹤的遠端,例如 git branch -u origin/main
git branch -u <remote-name>/<remote-branch>
# 指定特定分支要追蹤的遠端,例如 git branch -u origin/custom custom
git branch -u <remote-name>/<remote-branch> <local-branch>