Git遠端分支的刪除與同步

2021-09-22 16:42:16 字數 2351 閱讀 4467

詳細版本見個人部落格: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...