zoukankan      html  css  js  c++  java
  • git如何利用分支进行多人开发

    转 ::https://www.cnblogs.com/kexianting/p/8525732.html

    在使用git时,假如远程仓库有 dev 和 master 两个分支,master 作为一个稳定版分支,可用于直接发布产品,日常的开发则 push 到 dev 分支,那本地是不是要从 dev 分支中创建一个本地分支,然后在这个分支的 push 的动作是默认推到远程 dev 分支上?
     
    解惑
     
    一、远程仓库有master和dev分支
     
    1.克隆代码
     
    git clone git@github.com:XX/master-dev.git 
    #这个git路径是无效的,示例而已
    2. 查看所有分支
     
    git branch --all 
    # 默认有了dev和master分支,所以会看到如下三个分支
    # master[本地主分支] origin/master[远程主分支] origin/dev[远程开发分支]
    # 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
    # 但是origin/dev分支在本地没有任何的关联,所以我们无法在那里开发
    3. 创建本地关联origin/dev的分支
     
    git checkout dev origin/dev 
    # 创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样
    4. 切换到dev分支进行开发
     
    git checkout dev  # 这个是切换到dev分支,然后就是常规的开发
    更多
     
    二、假设远程仓库只有mater分支
     
    1. 克隆代码
     
    git clone https://github.com/master-dev.git 
    # 这个git路径是无效的,示例而已
    2. 查看所有分支
     
    git branch --all 
    # 默认只有master分支,所以会看到如下两个分支
    # master[本地主分支] origin/master[远程主分支]
    # 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
    3. 创建本地新的dev分支
     
    git branch dev  # 创建本地分支
    git branch # 查看分支
    # 这是会看到master和dev,而且master上会有一个星号
    # 这个时候dev是一个本地分支,远程仓库不知道它的存在
    # 本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步
    4. 发布dev分支
     
    发布dev分支指的是同步dev分支的代码到远程服务器
    git push origin dev:dev # 这样远程仓库也有一个dev分支了
    5. 在dev分支开发代码
     
    git checkout dev  # 切换到dev分支进行开发
    # 开发代码之后,我们有两个选择
    # 第一个:如果功能开发完成了,可以合并主分支
    git checkout master  # 切换到主分支
    git merge dev  # 把dev分支的更改和master合并
    git push  # 提交主分支代码远程
    git checkout dev  # 切换到dev远程分支
    git push  # 提交dev分支到远程
    # 第二个:如果功能没有完成,可以直接推送
    git push  # 提交到dev远程分支
    # 注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么
    6. 删除分支
     
    git push origin :dev  # 删除远程dev分支,危险命令哦
    # 下面两条是删除本地分支
    git checkout master  # 切换到master分支
    git branch -d dev  # 删除本地dev分支
    (项目中在git上原本只有maser分支, 拉倒本地新建dev分支, 然后通过上述第二种方式将dev分支推到git服务器, git服务器上有master和dev两个分支, 一般开发是会在本地的dev分支上开发, 然后推送到git服务器上dev分支, 并且在master分支上和本地的dev分支合并, 并将本地的master分支推送到git服务器上的mater分支上, 作为发布的mater分支)
  • 相关阅读:
    基于RSA的WEB前端密码加密方案
    私钥加密公钥解密或者公钥加密私钥解密有意义吗?
    MySQL索引背后的数据结构及算法原理
    深入理解MySQL索引原理和实现——为什么索引可以加速查询?
    shim和polyfill有什么区别
    [转]使用HttpOnly提升Cookie安全性
    RLE压缩算法详解
    [转]详解布隆过滤器的原理,使用场景和注意事项
    小白科普:Netty有什么用?
    RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?
  • 原文地址:https://www.cnblogs.com/songyanan/p/10186562.html
Copyright © 2011-2022 走看看