`
liuhui998
  • 浏览: 100918 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Git Community Book翻译 (十 三)-- 衍合

    博客分类:
  • Git
Git 
阅读更多
又译了一章,这回打算在googlecode上做一个镜像
因为github上没有文件下载的功能,我想把这本书做成pdf
方便大家下载

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


衍合

假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。

$ git checkout -b mywork origin


现在我们这个分支做一些修改,然后生成两个提交(commit).

$ vi file.txt
$ git commit
$ vi otherfile.txt
$ git commit
...

但是与此同时,有些人也在"origin"分支上做了一些修改并且做了提交了. 这就意问意味着"origin"和"mywork"这两个分支各自"前进"了,它们之间"分叉"了。


在这里,你可以用"pull"命令把"origin"分支上的修改拉下来并且和你的修改合并; 结果看起来就像一个新的"合并的提交"(merge commit):


但是,如果你想让"mywork"分支历史看起来像没有经过任何合并一样,你也许可以用 git rebase :

$ git checkout mywork
$ git rebase origin

这些命令会把你的"mywork"分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把"mywork"分支更新 到最新的"origin"分支,最后把保存的这些补丁应用到"mywork"分支上。


当'mywork'分支更新之后,它会指向这些新创建的提交(commit),而那些老的提交会被丢弃。 如果运行垃圾收集命令(pruning garbage collection), 这些被丢弃的提交就会删除. (请查看 git gc )


现在我们可以看一下用合并(merge)和用衍合(rebase)所产生的历史的区别:


在衍合的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止衍合并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:

$ git rebase --continue

这样git会继续应用(apply)余下的补丁。

在任何时候,你可以用--abort 参数来终止衍合(rebase)的行动,并且"mywork" 分支会回到衍合开始前的状态。

$ git rebase --abort

分享到:
评论

相关推荐

    Git Community Book 中文版

    他们致力于将Git Community Book翻译成中文,以帮助中国的开发者更容易地学习和掌握Git。他们的工作不仅仅是翻译,还包括对内容的整理和校对,确保中文版的内容准确、易懂。 Git Community Book中文版的网址提供了...

    git community Book 中文版.zip

    Git Community Book 中文版.pdf 是一本面向广大Git用户的开源电子书,它详尽地介绍了Git这一版本控制系统的基础知识以及高级用法。Git是Linux之父Linus Torvalds为管理Linux内核开发而创建的分布式版本控制系统,因...

    Git学习资料合集《Git community Book》,《Pro Git》, 《Git-Talk》

    包含《Git community Book》,《Pro Git》, 《Git-Talk》等多个文档。 如果只是想学会怎么使用,或者简单了解Git,可以直接参考网上的博客。 如果是想详细了解,并且有时间,推荐看一下这些教程。

    Git Community Book(中文版)

    Git Community Book是一份由全球Git社区共同编写的指南,其中文版包含了Git的核心知识点与使用技巧。 首先,我们要了解Git的对象模型,这涉及到四种对象类型:blob(文件快照)、tree(目录结构)、commit(版本...

    Git Magic的中文版

    Git是一个开源的分布式版本管理软件,在Linux下广泛使用,现在Windows下也有相应版本。 本资源包包含3个文档: Git Magic的中文版 ---推荐的学习git的参考文档 ...Git Community Book -- 英文版的git的学习材料

    git community

    《Git Community Book》作为由全球开发者社区共同编撰的开放资源,旨在全面、深入地介绍 Git 的使用方法与最佳实践。本文将基于该书的部分内容,提炼出关键知识点,为中文读者提供一份详尽的 Git 使用指南。 #### ...

    git中文手册

    - **Git Community Book**:官方社区维护的书籍,涵盖了 Git 的基础知识、进阶用法及高级技巧。 - **Git User Manual**:详细的用户手册,适合查阅具体的命令用法。 - **The Git Tutorial**:教程形式介绍 Git 的...

    git book 中文

    ### Git Community Book中文版知识点概览 #### 一、前言 《Git Community Book》是一部由全球开源社区共同编写的关于版本控制系统Git的综合指南。本书不仅覆盖了Git的基础概念和基本操作,还深入探讨了高级特性及...

    Git & Github 学习资料

    - `Git Community Book中文版.pdf` 是另一本社区编写的 Git 教程,可能涵盖从基础到高级的多种主题。 通过阅读这些资料,你将能深入了解 Git 的工作原理,熟练掌握 Git 的操作,以及充分利用 GitHub 进行项目管理...

    Git 超级详细学习资料

    Git 的学习资源众多,其中《Git Community Book》是一本由全球众多贡献者共同编写的开源书籍,内容详实,旨在帮助开发者从基础到高级使用 Git。 首先,Git 的核心概念包括版本控制、版本历史、分支、合并、暂存区、...

    git 权威指南

    - **Git Community Book**:这是一个由全球Git用户共同维护的文档资源,包含了大量关于Git使用的案例和技术细节。 - **作者贡献**:该文档由众多Git爱好者共同编写,包括Alecs King、Amos Waterland、Andrew Ruder等...

    Pro Git 英文版

    there have been some significant additions and changes in the community surrounding Git. The second edition of this book is meant to address those changes and update the book so it can be more ...

    Book19_ Learn RStudio IDE.pdf

    Learn RStudio IDE: Quick, Ef fective, and Productive Data Science ISBN-13 (pbk): 978-1-4842-4510-1 ISBN-13 (electronic): 978...use Github, an online community where programmers share code and projects.

    Learning ROS for Robotics Programming

    The book will take an easy-to-follow and engaging ... It is also advisable to have some background on version control systems, like svn or git, which are often used to share the code by the community.

    使用GIT进行源码管理——GUI客户端小结

    网络上有很多优秀的GIT教程和资源,如“git简易指南”、“Git教程(廖雪峰)”和“Git Community Book”,这些都可以帮助开发者更全面地掌握GIT的使用。 总结起来,GIT的GUI客户端为不同水平的开发者提供了方便快捷...

Global site tag (gtag.js) - Google Analytics