1. 程式人生 > >git遠程分支管理

git遠程分支管理

git遠程分支管理

git遠程分支管理

使用分支的原則

  • master分支是非常重要的,線上發布代碼用這個分支,平時我們開發代碼不要在這個分支上
  • 創建一個dev分支,專門用作開發,只有當發布到線上之前,才會把dev分支合並到master
  • 開發人員應該在dev的基礎上再分支成個人分支,個人分支裏面開發代碼,然後合並到dev分支

遠程分支管理

在遠程GitHub上創建dev分支

技術分享圖片

克隆遠程GitHub倉庫(只會克隆 apeng倉庫中的master分支)

[root@localhost ~]# mkdir /remote
[root@localhost ~]# cd /remote
[root@localhost remote]# git clone https://github.com/apenglinux/apeng.git
[root@localhost remote]# ls
apeng
[root@localhost remote]# cd apeng/
[root@localhost apeng]# git branch 
* master

查看遠程倉庫的所有分支

[root@localhost apeng]# git ls-remote origin 
ec531a27522b5982a0d78efdddc836702e4d6498    HEAD
ec531a27522b5982a0d78efdddc836702e4d6498    refs/heads/dev
ec531a27522b5982a0d78efdddc836702e4d6498    refs/heads/master

克隆遠程服務器apeng倉庫中的dev分支,創建文件推送到遠程服務端

[root@localhost apeng]# git checkout -b dev origin/dev 
分支 dev 設置為跟蹤來自 origin 的遠程分支 dev。
切換到一個新分支 ‘dev‘
[root@localhost apeng]# echo "apeng-repository" > apeng-local-remote.file
[root@localhost apeng]# git add apeng-local-remote.file
[root@localhost apeng]# git commit -m "add apeng-local-remote.file"
[root@localhost apeng]# git push

本地分支和遠程分支一致時,默認推送所有分支。下面就推送一個分支到服務器端

[root@localhost apeng]# git branch aling
[root@localhost apeng]# git checkout aling
[root@localhost apeng]# echo "branch-aling" > aling1.txt
[root@localhost apeng]# git add aling1.txt
[root@localhost apeng]# git commit -m "add aling1.txt"
[root@localhost apeng]# git push origin aling

在服務端查看
技術分享圖片

總結:

  • 本地新建的分支如果不推送到遠程,對其他人是不可見的
  • 查看遠程所有分支 git ls-remote origin
  • 當本地分支和遠程分支一致時
  • git push 會所所有本地分支的變更一同推送到遠程,如果只想推送一個分支,使用 git push origin branch-name
  • 當本地分支比遠程分支多,默認 git push 只推送本地和遠程一致的分支,想要多出來的本地分支推送到遠程時,使用 git push origin branch-name 如果推送失敗,先用 git pull抓取遠程的新提交
  • git clone 的時候默認只把master分支克隆下來,如果想把所有分支都克隆下來,需要手動創建,在本地創建和遠程分支對應的分支,使用 git checkout -b branch-name origin/branch-name,本地和遠程分支的名稱要一致

git遠程分支管理