Git分支問題(git remote prune)

2021-09-19 07:20:13 字數 2939 閱讀 4436

問題描述 :

檢視所有分支使用命令git branch --all

feature-tmp

feature-tmp-no-ad

feature-tools

feature-tools-dev

feature-trend

feature-trend-paint

feature-wangcai

feature-wangcai-no-ad

remotes/origin/head -> origin/feature-release

remotes/origin/cherry-pick-3afe883a

remotes/origin/dev-hhz

remotes/origin/feature-add-newvideo

remotes/origin/feature-add-video

remotes/origin/feature-buy-lottery

remotes/origin/feature-changepassword

remotes/origin/feature-comment

remotes/origin/feature-dev-bussinus

發現當前遠端分支未包含:

remotes/origin/feature-buy-lottery

remotes/origin/feature-changepassword

remotes/origin/feature-comment

remotes/origin/feature-dev-bussinus

這四個分支已經從遠端分支中刪除 但是 本地分支並不知道當前這幾個遠端分支是否被刪除 下面我們可以使用命令:

git remote show origin

看到當前我們本地**庫所有遠端分支:

feature-tools                                    tracked

feature-tools-dev tracked

feature-wangcai tracked

feature-wangcai-no-ad tracked

master tracked

refs/remotes/origin/cherry-pick-3afe883a stale (use 'git remote prune' to remove)

refs/remotes/origin/dev-hhz stale (use 'git remote prune' to remove)

refs/remotes/origin/feature-add-newvideo stale (use 'git remote prune' to remove)

refs/remotes/origin/feature-add-video stale (use 'git remote prune' to remove)

refs/remotes/origin/feature-buy-lottery stale (use 'git remote prune' to remove)

現在我們可以看到 :

stale (use 『git remote prune』 to remove)

這樣的標註 這代表我們遠端已經刪除當前這條分枝 但是本地**庫並不知道,所以我們要進行的操作就是按照提示 刪除當前這些無用的未被tracked 的遠端分枝。

使用:

git remote prune origin

就會出現如下結果:

pruning origin

url: [email protected]:root/wangcai-android-root-project.git

* [pruned] origin/cherry-pick-3afe883a

* [pruned] origin/dev-hhz

* [pruned] origin/feature-add-newvideo

* [pruned] origin/feature-add-video

* [pruned] origin/feature-buy-lottery

* [pruned] origin/feature-changepassword

* [pruned] origin/feature-comment

好了,目前我們工作基本完活兒。

現在使用:

git fetch

git remote show origin

這兩條命令可以看到我們的本地**倉庫乾淨啦哈哈。

分析一下出現原因:

之前從遠端庫拉取過所有分枝,

可能之後被遠端的某些分支被其他人在gitlab刪除了,

你用 git branch -a 也是不能看出它們是否已被刪除的

所以在本地會有很多 無用的 沒有被tracked 的 分支 ,

用 it remote show origin 命令可以看到

這些分枝會被標記成 stale (use 'git remote prune' to remove)。

所以就出現了今天我們說到的問題

Git分支問題

git分支如果不設定的話預設只有master主分支,如果是個人開發,那一般情況下master分支就夠用,但如果是協同開發,那就需要建立多分支,繼而產生出分支合併的相關問題。git branch檢視當前所有分支 git branch 名稱 建立分支 git checkout 分支名 切換分支 git ...

git分支小問題

參考 1.檢視分支 git branch 或者 git branch v 2.建立乙個新的分支 git branch hss 3.轉換到新建的 testing 分支 git checkout hss 4.回到 master 分支 git checkout master 5.刪除乙個分支 git br...

Git 新建分支推送問題

新建本地分支後將本地分支推送到遠端庫,使用git pull 或者 git push 的時候報錯 git branch set upstream to origin 遠端主分支的名字 一般是master 新建分支的名字 git branch set upstream to origin remoteb...