git远程分支管理
使用分支的原则
- master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上
- 创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并到master
- 开发人员应该在dev的基础上再分支成个人分支,个人分支里面开发代码,然后合并到dev分支
远程分支管理
在远程GitHub上创建dev分支
克隆远程GitHub仓库(只会克隆 apeng仓库中的master分支)
[[email protected] ~]# mkdir /remote
[[email protected] ~]# cd /remote
[[email protected] remote]# git clone https://github.com/apenglinux/apeng.git
[[email protected] remote]# ls
apeng
[[email protected] remote]# cd apeng/
[[email protected] apeng]# git branch
* master
查看远程仓库的所有分支
[[email protected] apeng]# git ls-remote origin
ec531a27522b5982a0d78efdddc836702e4d6498 HEAD
ec531a27522b5982a0d78efdddc836702e4d6498 refs/heads/dev
ec531a27522b5982a0d78efdddc836702e4d6498 refs/heads/master
克隆远程服务器apeng仓库中的dev分支,创建文件推送到远程服务端
[[email protected] apeng]# git checkout -b dev origin/dev
分支 dev 设置为跟踪来自 origin 的远程分支 dev。
切换到一个新分支 ‘dev‘
[[email protected] apeng]# echo "apeng-repository" > apeng-local-remote.file
[[email protected] apeng]# git add apeng-local-remote.file
[[email protected] apeng]# git commit -m "add apeng-local-remote.file"
[[email protected] apeng]# git push
本地分支和远程分支一致时,默认推送所有分支。下面就推送一个分支到服务器端
[[email protected] apeng]# git branch aling
[[email protected] apeng]# git checkout aling
[[email protected] apeng]# echo "branch-aling" > aling1.txt
[[email protected] apeng]# git add aling1.txt
[[email protected] apeng]# git commit -m "add aling1.txt"
[[email protected] 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,本地和远程分支的名称要一致
原文地址:http://blog.51cto.com/13480443/2090620
时间: 2024-10-13 06:33:07