git远程分支管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git远程分支管理相关的知识,希望对你有一定的参考价值。

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,本地和远程分支的名称要一致

以上是关于git远程分支管理的主要内容,如果未能解决你的问题,请参考以下文章

git远程分支管理

Git开发分支管理

代码管理 ,git 命令整理

删除本地git的远程分支和远程删除git服务器的分支

git 切换远程分支

GitGit 分支管理 ( 删除远程分支 | 查看远程分支 git branch -a | 删除远程分支 git push origin --delete feature1 )