《Git学习指南》——1.3 分支的创建与合并很简单
本节书摘来自异步社区《Git学习指南》一书中的第1章,第1.3节,作者: 【德】René Preißel(普莱贝尔) , Bjørn Stachmann(斯拉赫曼)著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.3 分支的创建与合并很简单对于大多数版本控制系统来说,分支的创建与合并通常会因其特殊性而被认为是高级拓展操作。但由于Git最初就是为了方便那些散落在世界各地的Linux内核开发者而创建的,合并多方努力的结果一直都是其面临的最大挑战之一,所以Git的设计目标之一就是要让分支的创建与合并操作变得尽可能地简单且安全。
在下面的图1.4中,我们向你展示了开发者是如何通过创建分支的方式来进行并行开发的。图中的每一个点都代表了该项目的一个版本(即commit)。而由于在Git中,我们只能对整个项目进行版本化,所以每个点同时也代表了属于同一版本的各个文件。
图1.4 因开发者的并行开发而出现的分支创建操作
如上所示,图中两位开发者的起点是同一个版本。之后两人各自做了修改,并提交了修改。这时候,对于这两位开发者各自的版本库来说,该项目已经有了两个不同的版本。也就是说,他们在这里创建了两个分支。接下来,如果其中一个开发者想要导入另一个人的修改,他/她就可以用Git来进行版本合并。如果合并成功了,Git就会创建一个合并提交,其中会包含两位开发者所做的修改。这时如果另一位开发者也取回了这一提交,两位开发者的项目就又回到了同一个版本。
在上面的例子中,分支的创建是非计划性的,其原因仅仅是两个开发者在并行开发同一个软件罢了。在Git中,我们当然也可以开启有针对性的分支,即显式地创建一个分支(见图1.5)。显式分支通常主要用于协调某一种功能性的并行开发。
图1.5 针对不同任务的显式分支
版本库在执行拉回和推送操作时,可以具体指定其针对的是哪一些分支。当然,除了这些简单的分支创建和合并处理外,我们也可以对分支执行以下动作。
移植分支:我们可以直接将某一分支中的提交转移到另一个版本库中。
只传送特定修改:我们可以将某一分支中的某一次或某几次提交直接复制到另一个分支中。这就是所谓的捡取处理。
清理历史:我们可以对分支历史进行改造、排序和删除。这有利于为该项目建立更好的历史文档。我们称这种处理为交互式重订(interactive rebasing)。
git rebase -i合并多次提交 写作目的 自己写代码的时候修改了bug就提交一次,发现提交日志很乱,所以有必要合并多次提交,这个点有必要学习一下
git将master合并到分支 1.切换到master主分支上 2.将master更新的代码pull到本地 3.切换到自己的分支上 4.合并master到自己的分支 5.用idea或者sublime text解决冲突 6.add、commit
团队开发中git的基本使用和多人协作合并管理 最近忙于公司内部流程审批系统,团队在我未入职公司前,一直未使用版本控制,导致多数人不会使Git,开发人员对Git不熟练,项目版本控制受阻(开发人员普遍觉得sftp方便); 由我编写开发文档规范: 开发规范文档(包括:Php、Git、Mysql);
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Xcode连接git@osc
- Git学习环境搭建和git对用户的增删改查命令
- Git SSH public key authentication failed with git on Azure DevOps
- GIT_SSH C:Program FilesGitsetup.ini
- posh-git
- Git: GIT_SSH GIT_SSH_COMMAND
- 【Git】Git教程
- 解决Git - git push origin master 报错
- 【gitee及git的简单使用教程】从零开始到下载、更改文件
- debian ipxe-qemu (version 1.0.0+git-20190125.36a4c85-5 bug and install kvm+qemu+libvirt+virt-manager
- Linux环境git的搭建以及使用
- vue项目在git commit时,使用eslint检测
- Git_解决冲突
- 【Git】gitblit搭建git服务器-开机自启-Mac版
- 使用git将项目上传到github(最简单方法)
- 【Git 问题及解决方案】fatal: unable to access ‘https://github.com/xxx/yyy.git/‘: OpenSSL SSL_read: Con
- 【Git学习】四、.gitignore文件的使用
- 简单的git入门介绍及常用操作
- Git 常见错误 之 fatal: remote error: CAPTCHA required 简单解决方法
- Git 常见错误 之 error: src refspec xxx does not match any / error: failed to push some refs to 简单解决方法
- git使用具体介绍
- jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第三话):创建一个自由风格的项目(非maven),实现自动打war包
- git clone 慢,使用镜像
- git:手把手建立远程Git仓库并完成面目初始提交
- Git - 使用BitBucket和SourceTree进行源代码管理遇到POST git-receive-pack (chunked)
- 为什么给GIT库打TAG不成功
- git简单入门之git init /git add /git commit -v
- git强制覆盖本地代码和强制推送本地到远程仓库
- [Centos7]初步入门---git安装、配置、拉取代码一步呵成
- Git权限设置
- git-svn:通过git来管理svn代码