① 如何在Git上创建子分支
在使用Git平台时,为了不污染我们的主分支,我们一般都拷贝一个master的副本(创 建分支),然后修改副本的代码,这样我们一直操作的就不是 master分支,而是master分支的副本了。我们将这个副本分支称之为”子分支”。
方法/步骤
1
点击Git Flow 创建分支:
1. develop : 创建一个develop分支,在develop分支上进行开发
2. feature : 然后在develop上附属创建一些特性分支,比比如我们可 以为登陆功能创建一个login分支,为注册功能创建一个register分支, 为用户管 理创建一个user分支,这些功能分支都属于feature分支
3. release : 我们每次产品发布时都会将代码更新到master上进行打 包上传,然后更新打包代码到release分支上,这样就可以在以后只查 看释放 分支来查看每次上线时产品的代码了.
4. hotfix : 在代码更新到master分支后,突然发现代码中有bug,这是 我们直接创建一个热修复分支,改完这个bug后立即更新到master分 支了.
② git 怎么提交合并分支的部分代码
git 怎么提交合并分支的部分代码?对于复杂的系统,我们可能要开好几个分支来开发,那么怎样使用git合并分支呢?
合并步骤:
1、进入要合并的分支(如开发分支合并到master,则进入master目录)
git checkout master
git pull
2、查看所有分支是否都pull下来了
git branch -a
3、使用merge合并开发分支
git merge 分支名
4、查看合并之后的状态
git status
5、有冲突的话,通过IDE解决冲突;
6、解决冲突之后,将冲突文件提交暂存区
git add 冲突文件
7、提交merge之后的结果
git commit
如果不是使用git commit -m "备注" ,那么git会自动将合并的结果作为备注,提交本地仓库;
8、本地仓库代码提交远程仓库
git push
git将分支合并到分支,将master合并到分支的操作步骤是一样的。
③ Git创建新分支,并将本地代码提交到新分支上
clone Github 上的Repository,如下:
使用 git branch命令,如下:
*标识的是你当前所在的分支。
命令如下:
命令如下:
命令如下:
例如:
命令如下:
例枯梁如:
创建分支的同时切换到该分支上,命令如下:
git checkout -b [branch name] 的效果相当于以下两步操作:
命令如下:
例如:
命令如察做下:
例如:
命令如下:
分支名败败衡前的冒号代表删除。
例如:
命令如下:
例如:
命令如下:
命令如下:
命令如下:
例如:
https://blog.csdn.net/top_code/article/details/51931916
https://blog.csdn.net/a19891024/article/details/54138029
④ Git分支,为何以及如何使用分支
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。
有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快。和许多其他版本控制系统不同,Git 鼓励在工作流程中频繁使用分支与合并,哪怕一天之内进行许多次都没有关系。理解分支的概念并熟练运用后,你才会意识到为什么 Git 是一个如此强大而独特的工具,并从此真正改变你的开发方式。
为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。或许你还记得第一章的内容,Git 保存的不是文件差异或者变化量,而只是一系列文件快照。
在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对 象的父对象指针:首次提交是没有直接祖先的,普通提交有一个祖先,由两个或多个分支合并产生的提交则有多个祖先。
为直观起见,我们假设在工作目录中有三个文件,准备将它们暂存后提交。暂存操作会对每一个文件计算校验和(即第一章中提到的 SHA-1 哈希字串),然后把当前版本的文件快照保存到 Git 仓库中(Git 使用 blob 类型的对象存储这些快照),并将校验和加入暂存区域:
$ git add README test.rb LICENSE$ git commit -m 'initial commit of my project'
当使用git commit新建一个提交对象前,Git 会先计算每一个子目录(本例中就是项目根目录)的校验和,然后在 Git 仓库中将这些目录保存为树(tree)对象。之后 Git 创建的提交对象,除了包含相关提交信息以外,还包含着指向这个树对象(项目根目录)的指针,如此它就可以在将来需要的时候,重现此次快照的内容了。
现在,Git 仓库中有五个对象:三个表示文件快照内容的 blob 对象;一个记录着目录树内容及其中各个文件对应 blob 对象索引的 tree 对象;以及一个包含指向 tree 对象(根目录)的索引和其他提交信息元数据的 commit 对象。概念上来说,仓库中的各个对象保存的数据和相互关系看起来如图 3-1 所示:
图 3-8. HEAD 在一次 checkout 之后移动到了另一个分支
这条命令做了两件事。它把 HEAD 指针移回到 master 分支,并把工作目录中的文件换成了 master 分支所指向的快照内容。也就是说,现在开始所做的改动,将始于本项目中一个较老的版本。它的主要作用是将 testing 分支里作出的修改暂时取消,这样你就可以向另一个方向进行开发。