1. 程式人生 > >獲取遠端分支資訊、切換遠端分支、建立遠端分支

獲取遠端分支資訊、切換遠端分支、建立遠端分支

一、獲取遠端分支資訊

當從其它同事那獲取到,遠端建立了一個新分支fatfs,但是當我們本地沒有更新的情況下,使用下面命令是看不到的。

git branch -a

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

此時應該使用下面命令將伺服器上倉庫中新建立的分支資訊下載下來。(這裡我們的倉庫是origin)

git fetch origin

$ git fetch origin
remote: Counting objects: 100
, done. remote: Compressing objects: 100% (97/97), done. remote: Total 100 (delta 54), reused 0 (delta 0) Receiving objects: 100% (100/100), 378.17 KiB | 672.00 KiB/s, done. Resolving deltas: 100% (54/54), completed with 26 local objects. From gitee.com:fighters/freertos_emwin 96d86d9..dc202ab master -> origin/master * [new
branch] fatfs -> origin/fatfs

git branch -a 看一下

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/fatfs
  remotes/origin/master

二、切換遠端分支

git remote set-head origin fatfs

$ git branch -a
* master
  remotes/origin/HEAD -> origin/fatfs
  remotes/origin/fatfs
remotes/origin/master

三、本地建立遠端分支

(參考連結:https://www.jianshu.com/p/ea1dab2de419)

  • 1.先建立本地分支

    git checkout -b test

  • 2.將本地分支push到遠端倉庫
    下面我們在伺服器上的名字可以和本地分支不同的。
    git push origin local_branch:remote_branch
    local_branch:表示我們新建的本地分支名稱
    remote_branch:表示遠端分支的名字,可以自己隨便命名。
 $ git push origin test:test
Total 0 (delta 0), reused 0 (delta 0)
To [email protected].com:fighters/freertos_emwin.git
 * [new branch]      test -> test

下面就是遠端分支名字和本地名字不同的例子

$ git push origin rename:youname
Total 0 (delta 0), reused 0 (delta 0)
To [email protected]:fighters/freertos_emwin.git
 * [new branch]      rename -> youname

$ git branch -a
  master
* rename
  test
  remotes/origin/HEAD -> origin/fatfs
  remotes/origin/fatfs
  remotes/origin/master
  remotes/origin/test
  remotes/origin/youname

四、本地刪除遠端分支

1.方法1(git push origin –delete youname)

使用如下命令,刪除遠端youname分支

git push origin --delete youname
  • 1) 刪除前
$ git branch -a
  master
* rename
  test
  remotes/origin/HEAD -> origin/fatfs
  remotes/origin/fatfs
  remotes/origin/master
  remotes/origin/test
  remotes/origin/youname
  • 2)刪除後
$ git branch -a
  master
* rename
  test
  remotes/origin/HEAD -> origin/fatfs
  remotes/origin/fatfs
  remotes/origin/master
  remotes/origin/test

2.方法2(git push origin :test

)
使用如下命令

$ git push origin :test
To git@gitee.com:fighters/freertos_emwin.git
 - [deleted]         test
  • 1),刪除前
$ git branch -a
  master
* rename
  test
  remotes/origin/HEAD -> origin/fatfs
  remotes/origin/fatfs
  remotes/origin/master
  remotes/origin/test
  • 2).刪除後
$ git branch -a
  master
* rename
  test
  remotes/origin/HEAD -> origin/fatfs
  remotes/origin/fatfs
  remotes/origin/master