git遠程分支管理
阿新 • • 發佈:2018-03-24
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遠程分支管理