github 分支管理
github 分支管理
最近有同事问我git 如何管理分支,这里我以github为例,做下工作中常用的分支管理操作。
分支管理
作用:假设你准备开发一个新功能,但需要两周才能完成,第一周写了60%,如果提交,由于代码还没写完,不完整的代码库会导致别人不能干活,如果等代码全部写完在一次提交,又会存在丢失每天进度的风险。有了分支,可以避免上述问题,创建一个属于自己的分支,别人看不到,还继续在原来的分支上正常工作,而我们在自己的分支上干活,想提交就提交,直到开发完毕后,在一次性合并到原来的分支上,这样,即安全又不影响别人工作。
特点:Git分支是与众不同的,无论创建、切换、和删除分支,Git在非常短的时间内就能完成,无论版本库是1个文件还是1万个文件。
master主分支:在版本回退中,每次提交,Git都把它们串成一条时间线,在git里,这个分支叫主分支,即master分支,HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。每次提交,master分支都会向前移动一步,这样,随着不断提交,master分支的线也越来越长。
git常用命令
实际应用
实际使用过程中本人使用pycharm git插件进行操作,操作如下:


删除远程分支

可以在github 上看到只有一个分支了
创建分支
如图,创建并切换分支
查看当前分支
每次开发前要pull 一下最新代码,防止代码提交时冲突
说明当前是最新代码
现在开始编写代码,并提交。
提交前记得也要先pull 一下。
如图,添加一行注释
本地运行没问题后 可以进行 push
push 本地 dev 到远程 dev
如图提示push 成功!
可以在 github 查看变化
接下来可以将dev merge 到 mester
1、可以直接在github 上进行操作
查看代码变动,并 create pull request
如图,提示没有冲突可以合并分支
点击 merge pull request (合并请求) 即可完成dev 到 master的合并。
2、也可以直接通过pycharm 或是命令执行合并
通过pycharm 首先切换分支到本地master
切换前的代码
切换后的代码,没有最新代码
merge changes
因为我们Dev的 已经提交的远程dev 所以这里 选择远程dev
如图提示 merge 1 item
这里可以看到 master 分支上也有了最新的代码
最后选择 push
最后可以看到 push成功
最后去github 查看不会再有 合并分支的请求了
查看远程也能看到 最新的提交记录了
此时 就可以删除 dev 分支了,后续可以 再次新建分支进行开发任务的开发
github 分支管理的更多相关文章
- github分支管理
一. 需要创建的分支 1.master 主分支 2.dev 开发分支 3.bug 修改bug分支 4.release 预发布分支 二.分支使用 1.在master上创建dev,bug,release分 ...
- Git远程和分支管理
一.远程 Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库. 首先需要先在github上面 ...
- 在GitHub上管理项目
在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...
- Git 分支管理详解
大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...
- Git 最佳实践:分支管理
5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践.最后我为团队选择了这个git分支管理实践 A successful Git branching ...
- 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- [转载]理解 Git 分支管理最佳实践
原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...
- Git Flow 分支管理简述
概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...
- Git入门——远程仓库及分支管理
关于本地版本库的操作,请见:Git入门--本地版本库操作 本篇提到的所有命令: 小结 前面提到,Git相对于传统的SVN有着很大的优势,其中之一就在于集中式系统中,版本库只能存在于中央服务器上:而在G ...
随机推荐
- bayaim_今晚打老虎
bayaim_2018年11月22日11:01:14 <<<--- 再牛逼的肖邦,也尼玛弹奏不出我内心的悲伤.--->>> 艹,今天想骂人,艹TMD自己,不小心把自 ...
- nm U -l库的
nm U -l库的
- 小程序的flex布局
小程序建议使用flex布局进行排版 flex就是一个盒装弹性布局 flex是一个容器,所有子元素都是他的成员 小程序的flex布局 定义布局 display:flex flex容器的属性: flex- ...
- Vue+cordova开发App
Vue+cordova开发App https://www.imooc.com/article/70062
- [C4W2] Convolutional Neural Networks - Deep convolutional models: case studies
第二周 深度卷积网络:实例探究(Deep convolutional models: case studies) 为什么要进行实例探究?(Why look at case studies?) 这周我们 ...
- 项目那几步走:先配置setting路径文件、创建数据库、执行数据库迁移命令、配置mysql数据库信息、注册app、注释中间件、pymysql替换mysqldb-配置urls路由-继续视图函数-然后HTML页面展示-HTML里面导入css文件、models配置数据库表、
django使用mysql数据库: 首先cmd创建库 1.settings: """Django settings for day42 project. Generate ...
- Http响应乱码
Http响应乱码 方案1 response.setHeader("Content-Type", "application/json"); response.se ...
- 20191028 牛客网CSP-S Round2019-1
花了 \(30min\) 打了 \(180\) 分的暴力... 仓鼠的石子游戏 问题描述 链接:https://ac.nowcoder.com/acm/contest/1100/A 仓鼠和兔子被禁止玩 ...
- oracle用户管理, 授权与回收权限
一. 用户管理参数, 0.删除用户: drop user 用户名 [cascade] 当我们删除用户时, 如改用户已创建过数据对象, 那么删除用户时必须加cascade参数, 用来同步删除 改用户的所 ...
- 深挖计算机基础:Linux性能优化学习笔记
参考极客时间专栏<Linux性能优化实战>学习笔记 一.CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记: ...