git 刪除 本地分支和遠端分支 出現的問題

2021-08-31 03:26:43 字數 2917 閱讀 3402

將分支合併到 master 後,我們需要刪除無用分支,本地刪除比較簡單:

git branch -d/-d ***

但是,有些分支,我們可能也是多人開發,推送到了遠端測試伺服器上,我們也需要刪除遠端的廢棄分支:

1.先在本地刪除分支

git branch -d ***

2.推送給遠端倉庫

git push test :*** // 切記這個語法。

/* 如果不再需要某個遠端分支了,比如搞定了某個特性並把它合併進了遠端的 master 分支(或任何其他存放穩定**的地方),可以用這個非常無厘頭的語法來刪除它:

git push [遠端名] :[分支名]

如果想在伺服器上刪除 serverfix 分支,執行下面的命令:

git push origin :serverfix

會輸出:

to [email protected]:schacon/******git.git

- [deleted] serverfix

咚!伺服器上的分支沒了。你最好特別留心這一頁,因為你一定會用到那個命令,而且你很可能會忘掉它的語法。有種方便記憶這條命令的方法:

記住我們不久前見過的 git push [遠端名] [本地分支]:[遠端分支] 語法,如果省略 [本地分支],那就等於是在說「在這裡提取空白然後把它變成[遠端分支]」。

*//* 我執行刪除的時候,報了如下錯誤:

remote: error: by default, deleting the current branch is denied, because the next

remote: error: 'git clone' won't result in any file checked out, causing confusion.

remote: error:

remote: error: you can set 'receive.denydeletecurrent' configuration variable to

remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the

remote: error: current branch, with or without a warning message.

remote: error:

remote: error: to squelch this message, you can set it to 'refuse'.

remote: error: refusing to delete the current branch: refs/heads/lff

to ***.***.***.***:yyy.git

! [remote rejected] lff (deletion of the current branch prohibited)

看著錯誤提示,應該是需要我們在遠端 git 上設定 'receive.denydeletecurrent' 為 'warn' 或 'ignore' 來開啟刪除

// git 進行全域性設定

git config --global receive.denydeletecurrent warn

// 再次刪除遠端分支

git push test :***

刪除成功!!!

又出現了乙個問題,我這樣操作沒有問題了,本地和遠端的分支都被刪除了,但是不知道為啥,同事的 sourcetree 裡,一直會展示乙個 'refs/remotes/origin/***',看著像是本地對遠端的引用:

參考文章:

執行下面命令:

git remote prune origin

對 git 不熟悉,好多東西不了解!

*//* 這裡再記錄下,git 新增配置的乙個筆記,只能說明對 git 太不熟悉了:

上面想新增 git 全域性配置,想著查詢下 git 的配置檔案,完全不知道**有...不知道 linux 下 git 的配置目錄在**,通過命令:

find / -name '[a-za-z]*git[a-za-z]*' // 全域性搜尋,也沒找到

// 1.find 命令應該都是使用的 glob 萬用字元(這裡也忘記的差不多了...上面的 glob 寫的不太對)

// 2.find 也支援正則,可能是 perl 正則

find / -regex '.*git.*'

而且 git config -l 檢視所有的 git 配置,居然啥也沒,導致我一度懷疑是不是用錯了~~

在網上搜尋了下 linux 的配置檔案路徑:

1./etc/gitconfig

2.~/.gitconfig

3.不同專案下的 .git/config

git 官方文件也有說明,我居然沒有去了解...

我是自己測出來的,輸入 git config,會輸出 git config 的用法:

配置檔案位置

--global 使用全域性配置檔案

--system 使用系統級配置檔案

--local 使用版本庫級配置檔案

-f, --file 《檔案》 使用指定的配置檔案

我們一般使用的全域性配置時,會新增 '--global' 引數,然後就依次嘗試了下,設定 user.name 這個配置項:

git config --global user.name dongxuemin // 在 ~/ 下建立了 .gitconfig

git config --system user.name dongxuemin // 在 /etc/ 下建立了 gitconfig

git config --local 我沒測試

還是得好好熟悉 git 啊,不過慢慢發現問題,尋找問題,就熟悉了

*/

Git刪除本地分支和遠端分支

git branch help git branch h usage git branch r a merged no merged or git branch l f or git branch r d d or git branch m m or git branch r a points at...

GIT刪除本地分支和遠端分支

刪除分支前,先簡單的說一下增加分支 git branch v 檢視當前分支的情況 git branch dev1 新建分支dev1,這個時候,只是本地新建了dev1的這個分支,遠端伺服器是沒有的,因為沒有對這個分支進行操作,並push 如下圖,建了兩個分支 dev1和dev2 一般現實開發中,開發用...

git刪除遠端分支和本地分支

當我們集體進行專案時,將自定義分支push到主分支master之後,如何刪除遠端的自定義分支呢 問題解決 1 使用命令git branch a 檢視所有分支 注 其中,remote origin master表示的是遠端分支 2 刪除遠端分支 注 如上所示,使用命令 git push origin ...