GIT学习-02分支
来源:互联网 发布:火爆网络的ann艳照 编辑:程序博客网 时间:2024/05/21 06:20
一、提交对象在仓库中的数据结构
1.1、单个对象提交
Ps:http://git.oschina.net/progit
解释:有五个对象:三个表示文件快照内容的Blob对象;
一个记录目录树及其各个文件对应Blob对象索引的Tree对象;
一个包含Tree对象的索引和其他提交信息元数据的Commit对象。
1.2、两次提交后
1.3、多个提交对象之间的链接关系
二、何谓分支
2.1、分支:本质仅仅是个指向Commit对象的可变指针;Mastre是分支默认的名字。 2.2、创建分支:git branch testing HEAD切换指向分支:git checkout testing
三、分支的新建和合并
工作流程:开发某个网站 —> 为实现某个新的需求,创建一个分支 —> 在这个分支上完成或者实现 Bug的修改:返回到原先已经发布到生产服务器上的分支 —> 新建一个分支,并修复问题 —> 通过测试,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上—>切换到之前实现新需求的分支,继续工作 3.1、新建和切换 git checkout -b [branchname]:转换分支 git branch -d [branchname]:删除分支 git merge [branchname]:合并分支 3.2、分支的管理 git branch:列出所有的分支 git --mergehe:查看哪些分支被并入当前分支 git --no--merged:查看尚未合并的分支 git branch -d:列表中没有*的分支通常都可以删掉(D:表示强制删除) 3.3、 利用分支进行开发的工作流程 ①、长期分支:稳定分支总是比较陈旧的;(Master、Develop(next)、Topic(大型项目还包括(proposed\pu prososed updates))) ②、特性(Topic)分支:短期的用来实现单一特征或与相关工作的分支。 3.4、远程分支 是对远程仓库中的分支的索引,类似于书签,提醒上次远程连接仓库时上面分支的位置。 ①、推送本地分支:git push (远程仓库名) (分支名) ②、跟踪远程分支:git checkout -b [分支名] [远程名]/[分支名]或者使用git checkout --track [远程名]/[分支名]进行简化 ③、删除远程分支:git push [远程名] :[分支名]进行分支的删除 3.5、分支的衍合 ①、基本的衍合操作:git merge or git rebase(衍合) ②、有趣的衍合:git rebase --onto master server client : --onto:指定新的基底分支 ③、衍合的风险:一旦分支中的提交对象发布到公共仓库,就千万不要对该分支进行衍合操作;
其他关于git使用文档请看:
- git学习-01基础
- git学习-03服务器上的git
- git学习-04git-svn的使用
阅读全文
0 0
- GIT学习-02分支
- Git学习--> 分支管理
- git学习-分支管理
- git学习(分支管理)
- git 分支学习
- Git分支学习
- Git分支学习简记
- git学习-分支
- git学习-分支介绍
- git 分支学习
- 《pro git》分支学习记录
- git学习(2)---分支操作
- Git学习笔记之分支
- Git学习 <day5>-分支
- Git 学习笔记 --- 分支管理
- git学习-分支的操作
- GIT仓库学习--分支管理
- git学习(2)_分支
- ipynb--->py
- 学习笔记:springmvc4.3源码学习:spring解析配置文件过程
- SpringMVC中web.xml的常用配置文件
- 计算整数n的阶乘n!
- Redis源码分析(skiplist)
- GIT学习-02分支
- 函数调用过程的栈帧
- 学习笔记_003
- System.currentTimeMillis();获取计算机的当前时间。
- 用于单分支控制的条件语句
- JUC基础概述
- hdoj 3535 AreYouBusy(混合背包)
- XListView—Android开源项目
- 四大组件之contentProvider内容监听者