y23335793 发表于 2018-9-16 11:22:16

git远程分支管理

  git远程分支管理
  使用分支的原则


[*]master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上
[*]创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并到master
[*]开发人员应该在dev的基础上再分支成个人分支,个人分支里面开发代码,然后合并到dev分支
  远程分支管理
  在远程GitHub上创建dev分支

  克隆远程GitHub仓库(只会克隆 apeng仓库中的master分支)
  

# mkdir /remote  
# cd /remote
  
# git clone https://github.com/apenglinux/apeng.git
  
# ls
  
apeng
  
# cd apeng/
  
# git branch
  
* master
  

  

  查看远程仓库的所有分支
  

# git ls-remote origin  
ec531a27522b5982a0d78efdddc836702e4d6498    HEAD
  
ec531a27522b5982a0d78efdddc836702e4d6498    refs/heads/dev
  
ec531a27522b5982a0d78efdddc836702e4d6498    refs/heads/master
  

  克隆远程服务器apeng仓库中的dev分支,创建文件推送到远程服务端
  

# git checkout -b dev origin/dev  
分支 dev 设置为跟踪来自 origin 的远程分支 dev。
  
切换到一个新分支 'dev'
  
# echo "apeng-repository" > apeng-local-remote.file
  
# git add apeng-local-remote.file
  
# git commit -m "add apeng-local-remote.file"
  
# git push
  

  本地分支和远程分支一致时,默认推送所有分支。下面就推送一个分支到服务器端
  

# git branch aling  
# git checkout aling
  
# echo "branch-aling" > aling1.txt
  
# git add aling1.txt
  
# git commit -m "add aling1.txt"
  
# 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,本地和远程分支的名称要一致


页: [1]
查看完整版本: git远程分支管理