詳細版本見個人部落格:git遠端分支的刪除與同步
本文主要介紹git同步遠端已刪除的分支的方法。
刪除遠端分支命令:
git push origin :readme
或者:
git push origin --delete readme
關鍵問題:另乙個使用者使用git fetch
並不能同步獲取到readme分支被刪除。
git fetch
此命令沒有更新的顯示,說明並無刪除的資訊。
然後執行git pull
時,報錯:
your configuration specifies to merge with the ref 'refs/heads/readme'
from the remote, but no such ref was fetched.
這肯定是執行git fetch
時,報錯。
git fetch origin readme
fatal: couldn't find remote ref readme
但檢查分支時,發現origin/readme
還存在。
git branch -a
dev
master
* readme
remotes/origin/head -> origin/master
remotes/origin/add-license-1
remotes/origin/dev
remotes/origin/master
remotes/origin/readme
這說明,remotes/origin/*
這些遠端跟蹤分支,僅僅是遠端分支的乙個快取,並且,不能通過git fetch
命令獲取到分支刪除的更新。
執行命令
git remote show origin
* remote origin
fetch url: [email protected]:dta0502/data-analysis-in-action.git
push url: [email protected]:dta0502/data-analysis-in-action.git
head branch: master
remote branches:
add-license-1 tracked
dev tracked
master tracked
refs/remotes/origin/readme stale (use 'git remote prune' to remove)
local branches configured for 'git pull':
dev merges with remote dev
master merges with remote master
readme merges with remote readme
local refs configured for 'git push':
dev pushes to dev (up to date)
master pushes to master (up to date)
發現refs/remotes/origin/readme
狀態是stale(陳舊的),並且後面有命令提示。
git remote prune origin
pruning origin
url: [email protected]:dta0502/data-analysis-in-action.git
* [pruned] origin/readme
或者執行
git fetch -p
在執行fetch之後,刪除遠端不存在的遠端跟蹤分支。
git checkout master
git branch -d readme
詳細版本見個人部落格:git遠端分支的刪除與同步 git刪除遠端分支
直接在git服務端操作 方法二 通過命令列刪除 首先確保倉庫 我的倉庫名是testcase 已經clone至本地 在testcase中使用命令檢視當前有幾個分支 git branch a結果如圖 接下來刪除branch01分支 git branch r d origin branch01最後push...
GIT實踐 同步遠端分支
更新遠端分支 當git倉庫位址發生變化後,首先更新遠端位址 git remote set url origin git git.yonyou.com new group ncc quartz.git或者 git remote set url origin檢視本地分支與遠端分支的關聯關係 輸入如下命令...
git同步遠端已刪除的分支和刪除本地多餘的分支
使用 git branch a 可以檢視本地分支和遠端分支情況 但遠端分支 紅色部分 刪除後,發現本地並沒有同步過來。檢視本地分支和追蹤情況 可以發現紅框中的分支是遠端分支已被刪除的分支,根據提示可以使用 git remote prune 來同步刪除這些分支。執行命令 git remote prun...