1. 程式人生 > >git遠端分支操作

git遠端分支操作

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

  1. 檢視遠端分支
  2. 刪除遠端分支和tag
  3. 刪除不存在對應遠端分支的本地分支
  4. 重新命名遠端分支
  5. 把本地tag推送到遠端
  6. 獲取遠端tag

檢視遠端分支

加上-a引數可以檢視遠端分支,遠端分支會用紅色表示出來(如果你開了顏色支援的話):

12345678910 $ 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 之後,可以使用這種語法刪除遠端分支:

1 $ git push origin --delete <branchName>

刪除tag這麼用:

1 git push origin --delete tag <tagname>

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

1 git push origin :<branchName>

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

12 git tag -d <tagname>git push origin :refs/tags/<tagname>

兩種語法作用完全相同。

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

假設這樣一種情況:

  1. 我建立了本地分支b1並pull到遠端分支 origin/b1
  2. 其他人在本地使用fetch或pull建立了本地的b1分支;
  3. 我刪除了 origin/b1 遠端分支;
  4. 其他人再次執行fetch或者pull並不會刪除這個他們本地的 b1 分支,執行 git branch -a 也不能看出這個branch被刪除了,如何處理?

使用下面的程式碼檢視b1的狀態:

123456789101112 $ git remote show origin* remote origin Fetch URL: [email protected]
:xxx/xxx.git Push URL: [email protected]:xxx/xxx.git HEAD branch: master Remote branches: master tracked refs/remotes/origin/b1 stale (use 'git remote prune' to remove) Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date)

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

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

1 git fetch -p

重新命名遠端分支

在git中重新命名遠端分支,其實就是先刪除遠端分支,然後重新命名本地分支,再重新提交一個遠端分支。

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

12345678910 $ 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, export getFileData 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, export getFileData

刪除遠端分支:

123 $ git push --delete origin develTo [email protected]:zrong/quick-cocos2d-x.git - [deleted] devel

重新命名本地分支:

1 git branch -m devel develop

推送本地分支:

12345678 $ git push origin developCounting 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 [email protected]:zrong/quick-cocos2d-x.git * [new branch] develop -> develop

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

12345 $ git push --delete origin develremote: error: refusing to delete the current branch: refs/heads/develTo [email protected]:zrong/quick-cocos2d-x.git ! [remote rejected] devel (deletion of the current branch prohibited)error: failed to push some refs to '[email protected]:zrong/quick-cocos2d-x.git'

這是由於在 github 中,devel 是專案的預設分支。要解決此問題,這樣操作:

  1. 進入 github 中該專案的 Settings 頁面;
  2. 設定 Default Branch 為其他的分支(例如 master);
  3. 重新執行刪除遠端分支命令。

把本地tag推送到遠端

1 git push --tags

獲取遠端tag

1 git fetch origin tag <tagname>

相關推薦

git遠端分支操作

這篇文章記錄我在使用git的過程中碰到遠端分支和tag的相關內容,提綱: 檢視遠端分支刪除遠端分支和tag刪除不存在對應遠端分支的本地分支重新命名遠端分支把本地tag推送到遠端獲取遠端tag 檢視遠端分支 加上-a引數可以檢視遠端分支,遠端分支會用紅色表示出來(如果你開

看完這篇 你就能完全操作git 遠端分支的增、刪、改、查了

最近專案中又用到了git所以在此總結一番,這篇主要針對的是怎麼建立遠端分支,如何刪除遠端分支。 首先,如何建立遠端分支。將一系列前期準備工作準備完成後(建立\新增ssh); 在終端鍵入 git branch -va 可以檢視本地分支與遠端分支的具體情況,當如果是一個新建的專案的時候,顯示,“ * ”號顯示的

git 遠端分支相關

1 檢視遠端分支:git branch -a 2 檢視本地分支:git branch   3 建立本地分支: git branch test   4. 分支推到遠端分支 :git push origin test 5 切換分支到test:git check

記錄一次使用eclipse實現git合併分支操作

首先,分支情況如下: 分支A提交所有程式碼後,建立一個分支B,又切換回分支A,對分支A進行修改。最後將分支A合併到分支B。 然後,希望的合併結果如下: 將分支A合併到分支B。其中有部分刪除檔案不用修改和刪除。 實際操作步驟: 1.分支A程式碼建立3個檔案:testA

git 遠端分支回滾

git程式碼庫回滾: 指的是將程式碼庫某分支退回到以前的某個commit id 【原生代碼庫回滾】: git reset --hard commit-id :回滾到commit-id,講commit-id之後提交的commit都去除 git reset --hard H

Git遠端操作遇到的一些問題

一、問題:執行git remote add origin [email protected]:yylxm/Git.git                     出現問題fatal: remote origin already exists.         解決

如何將git遠端分支更新到本地

(1)先下載 git clone URL (2)再切換到分支JarSample git checkout JarSample (3)從遠端的origin倉庫的master分支下載程式碼到本地的origin JarSample git fetch origin JarSample (4)強制更新,

Git 遠端分支的pull與push

遠端分支資訊檢視 git branch -r #檢視遠端分支 git branch -a #檢視所有分支,本地和遠端 git remote show [remote-name] #檢視遠端倉庫資訊 其中git remote show [remote-name]展示的資

git建立分支操作步驟簡單明瞭大概四步

1.git checkout -b 10002-product-zwl 建立本地分支 2.git branch 選出當前分支 3.git pull 從遠端拉取程式碼 4.git push --set-upstream origin 10002-product-zwl 建立遠端

無法刪除git遠端分支的問題

當刪除遠端分支時,可能會出錯以下的錯誤: $ git push origin :alpha remote: error: By default, deleting the current branch is denied, because the next remote:

git 遠端分支版本回退

方法: git reset --hard commit_id(可用 git log –oneline 檢視) ###原生代碼回退 git push origin HEAD --force ###遠端提交回退 或者 git reset --hard HEAD~1 git pu

git merge-分支操作

1.建立一個新分支 git checkout -b new_v1.0 2.若檔案有更新,先提交 git add . git commit -m "new branch” git push orig

git遠端分支覆蓋本地分支

有時候同一個分支,遠端的和本地的都被修改的面目全非了,如果想要把本地的替換成遠端的,用下面的命令 git fetch --all git reset --hard origin/master (這裡master要修改為對應的分支名) git pull

git遠端分支與本地分支合併

多人協同開發中,經常會遇到這種情況:A在本地開發完成後,將程式碼推送到遠端,這時候B的原生代碼的版本就低於遠端程式碼的版本,這時候B該如何從遠端拉取最新的程式碼,並與自己的原生代碼合併呢? 具體思路:先拉去一份最新的遠端程式碼到本地,然後將本地兩個版本的程式

git遠端分支和tag的操作

本站文章除註明轉載外,均為本站原創或者翻譯。本站文章歡迎各種形式的轉載,但請18歲以上的轉載者註明文章出處,尊重我的勞動,也尊重你的智商;本站部分原創和翻譯文章提供markdown格式原始碼,歡迎使用文章原始碼進行轉載;本文標題:Git檢視、刪除、重新命名遠端分支和tag 2013-01-09:加入刪除

Git-程式碼分支模型&遠端操作

程式碼版本控制是我最近要細化學習的東西,以下是這一天的日報 Git分支是程式碼版本控制的核心,我所熟悉的開發模型就是: 建立一個新的分支 從預設分支master分下來一個分支,雖然你也可以從任何現有分支下拉下一個分支,但是 有個不成文的規定,就是一般master

git 基本操作 git 刪除本地分支遠端分支、原生代碼回滾和遠端程式碼庫回滾

git 刪除本地分支和遠端分支、原生代碼回滾和遠端程式碼庫回滾   【git 刪除本地分支】 git branch -D br   【git 刪除遠端分支】 git push origin :br  (origin

Git應用詳解第七講:Git refspec與遠端分支的重要操作

前言 前情提要:Git應用詳解第六講:Git協作與Git pull常見問題 這一節來介紹本地倉庫與遠端倉庫的分支對映關係:git refspec。徹底弄清楚本地倉庫到底是如何與遠端倉庫進行聯絡的。 一、Git refspec refspec是Reference Specification的縮寫,字面意思就

Git分支操作

多人 master 命名 mas ont 常用 推送 創建分支 branch 分支branch是Git使用中經常用到的,多人寫作開發的利器~ 查看分支 $ git branch #列出本地已有的branch列表 創建分支     創建新分支默認以

Git手冊 - 本地多分支操作

git分支管理一)新建/刪除分支#git branch //查看當前項目所有的分支,並以*顯示當前工作分支#git branch branchName //新建一個分支#git checkout branchName //切換到另外的分支#git checkout -