將分支合併到 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 ...