git 遠程分支remote

Git查看、刪除、重命名遠程分支和tag

姊妹篇:使用Git柒爸、Git GUI和TortoiseGit

這篇文章記錄我在使用git的過程中碰到遠程分支和tag的相關內容,提綱:

查看遠程分支

刪除遠程分支和tag

刪除不存在對應遠程分支的本地分支

重命名遠程分支

把本地tag推送到遠程

獲取遠程tag

查看遠程分支

加上-a參數(shù)可以查看遠程分支事扭,遠程分支會用紅色表示出來(如果你開了顏色支持的話):

$ git branch -a

? master

? remote

? tungway

? v1.52

* zrong

? remotes/origin/master

? remotes/origin/tungway

? remotes/origin/v1.52

? remotes/origin/zrong

刪除遠程分支和tag

在Git v1.7.0 之后揍鸟,可以使用這種語法刪除遠程分支:

$ git push origin --delete

刪除tag這么用:

$?git push origin --delete tag

否則,可以使用這種語法句旱,推送一個空分支到遠程分支,其實就相當于刪除遠程分支:

$ git push origin :

這是刪除tag的方法晰奖,推送一個空tag到遠程tag:

git tag -d

git push origin :refs/tags/

兩種語法作用完全相同谈撒。

刪除不存在對應遠程分支的本地分支

假設這樣一種情況:

我創(chuàng)建了本地分支b1并pull到遠程分支?origin/b1;

其他人在本地使用fetch或pull創(chuàng)建了本地的b1分支匾南;

我刪除了?origin/b1?遠程分支啃匿;

其他人再次執(zhí)行fetch或者pull并不會刪除這個他們本地的?b1?分支,運行?git branch -a?也不能看出這個branch被刪除了蛆楞,如何處理溯乒?

使用下面的代碼查看b1的狀態(tài):

$ git remote show origin

* remote origin

? Fetch URL: git@github.com:xxx/xxx.git

? Push? URL: git@github.com:xxx/xxx.git

? HEAD branch: master

? Remote branches:

? ? master? ? ? ? ? ? ? ? tracked

refs/remotes/origin/b1 stale (use'git remote prune'to remove)

Local branch configuredfor'git pull':

? ? master merges with remote master

Local ref configuredfor'git push':

? ? master pushes to master (up to date)

這時候能夠看到b1是stale的,使用?git remote prune origin?可以將其從本地版本庫中去除豹爹。

更簡單的方法是使用這個命令裆悄,它在fetch之后刪除掉沒有與遠程分支對應的本地分支:

$ git fetch -p

重命名遠程分支

在git中重命名遠程分支,其實就是先刪除遠程分支臂聋,然后重命名本地分支光稼,再重新提交一個遠程分支或南。

例如下面的例子中,我需要把 devel 分支重命名為 develop 分支:

$ git branch -av

* devel? ? ? ? ? ? ? ? ? ? ? ? ? ? 752bb84 Merge pull request#158 from Gwill/devel

master? ? ? ? ? ? ? ? ? ? ? ? ? ? 53b27b8 Merge pull request#138 from tdlrobin/master

zrong? ? ? ? ? ? ? ? ? ? ? ? ? ? 2ae98d8 modify CCFileUtils,exportgetFileData

? remotes/origin/HEAD? ? ? ? ? ? ? -> origin/master

remotes/origin/add_build_script? d4a8c4f Merge branch'master'into add_build_script

remotes/origin/devel? ? ? ? ? ? ? 752bb84 Merge pull request#158 from Gwill/devel

? remotes/origin/devel_qt51? ? ? ? 62208f1 update .gitignore

remotes/origin/master? ? ? ? ? ? 53b27b8 Merge pull request#138 from tdlrobin/master

remotes/origin/zrong? ? ? ? ? ? ? 2ae98d8 modify CCFileUtils,exportgetFileData

刪除遠程分支:

$ git push --delete origin devel

To git@github.com:zrong/quick-cocos2d-x.git

- [deleted]? ? ? ? devel

重命名本地分支:?

$ git branch -m devel develop

推送本地分支:

$ git push origin develop

Counting objects: 92,done.

Delta compression using up to 4 threads.

Compressing objects: 100% (48/48),done.

Writing objects: 100% (58/58), 1.38 MiB,done.

Total 58 (delta 34), reused 12 (delta 5)

To git@github.com:zrong/quick-cocos2d-x.git

* [new branch]? ? ? develop -> develop

然而艾君,在 github 上操作的時候采够,我在刪除遠程分支時碰到這個錯誤:

$ git push --delete origin devel

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

To git@github.com:zrong/quick-cocos2d-x.git

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

error: failed to push some refs to'git@github.com:zrong/quick-cocos2d-x.git'

這是由于在 github 中,devel 是項目的默認分支冰垄。要解決此問題蹬癌,這樣操作:

進入 github 中該項目的 Settings 頁面;

設置 Default Branch 為其他的分支(例如 master)虹茶;

重新執(zhí)行刪除遠程分支命令逝薪。

把本地tag推送到遠程

$ git push --tags

或者推送某一個tag

$ git push --tag version

獲取遠程tag

$ git fetch origin tag

參考文章

https://makandracards.com/makandra/621-git-delete-a-branch-local-or-remote

http://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-both-locally-and-in-github

http://www.cnblogs.com/deepnighttwo/archive/2011/06/18/2084438.html

http://stackoverflow.com/questions/14040754/deleting-remote-master-branch-refused-due-to-being-current-branch

http://weli.iteye.com/blog/1441582

文章摘自很久前其他人的一篇博客,找不到地址了P纯尽翼闽!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市洲炊,隨后出現(xiàn)的幾起案子感局,更是在濱河造成了極大的恐慌,老刑警劉巖暂衡,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件询微,死亡現(xiàn)場離奇詭異,居然都是意外死亡狂巢,警方通過查閱死者的電腦和手機撑毛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唧领,“玉大人藻雌,你說我怎么就攤上這事≌陡觯” “怎么了胯杭?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長受啥。 經常有香客問我做个,道長,這世上最難降的妖魔是什么滚局? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任居暖,我火速辦了婚禮,結果婚禮上藤肢,老公的妹妹穿的比我還像新娘太闺。我一直安慰自己,他們只是感情好嘁圈,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布跟束。 她就那樣靜靜地躺著莺奸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冀宴。 梳的紋絲不亂的頭發(fā)上灭贷,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音略贮,去河邊找鬼甚疟。 笑死,一個胖子當著我的面吹牛逃延,可吹牛的內容都是我干的览妖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼揽祥,長吁一口氣:“原來是場噩夢啊……” “哼讽膏!你這毒婦竟也來了?” 一聲冷哼從身側響起拄丰,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤府树,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后料按,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奄侠,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年载矿,在試婚紗的時候發(fā)現(xiàn)自己被綠了垄潮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡闷盔,死狀恐怖弯洗,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情逢勾,我是刑警寧澤涂召,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站敏沉,受9級特大地震影響,放射性物質發(fā)生泄漏炎码。R本人自食惡果不足惜盟迟,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潦闲。 院中可真熱鬧攒菠,春花似錦、人聲如沸歉闰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凹炸,卻和暖如春戏阅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啤它。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工奕筐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人变骡。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓离赫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親塌碌。 傳聞我的和親對象是個殘疾皇子渊胸,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • 1. GIT命令 git init在本地新建一個repo,進入一個項目目錄台妆,執(zhí)行git init翎猛,會初始化一個re...
    江邊一蓑煙閱讀 792評論 0 0
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,458評論 1 26
  • 大耳朵樹閱讀 102評論 0 1
  • 王ai杜閱讀 133評論 0 0
  • 那是1997年初夏。 頭年我是八月份到的廣州频丘。我愛人比我早些時間到办成。我到的時候他就跟我介紹這邊跟家里有哪些不同,聽...
    真水無香zswx閱讀 368評論 1 3