此示例旨在描述如何git rebase在交互模式下使用。期望人们对什么git rebase是什么以及它做什么有一个基本的了解。
使用以下命令启动交互式变基:
git rebase -i
该-i选项指的是交互模式。使用交互式变基,用户可以更改提交消息,以及重新排序,拆分和/或压缩(组合为一个)提交。
假设您要重新排列最后三个提交。为此,您可以运行:
git rebase -i HEAD~3
执行上述指令后,将在文本编辑器中打开一个文件,您可以在其中选择如何重新确定提交的基础。就本示例而言,只需更改提交的顺序,保存文件并关闭编辑器即可。这将根据您已应用的订单开始重新设置基准。如果选中,git log您将看到以指定的新顺序提交的内容。
现在,您已经确定提交消息之一是模糊的,并且您希望它更具描述性。让我们使用相同的命令检查最后三个提交。
git rebase -i HEAD~3
这次我们无需更改提交将被重新安排的顺序,而是将pick默认值reword更改为您要更改消息的提交。
当您关闭编辑器时,重新设置将启动,并且将在您要重新编写单词的特定提交消息处停止。这将使您可以将提交消息更改为所需的任何内容。更改消息后,只需关闭编辑器即可继续。
除了更改提交消息,您还可以调整提交所做的更改。这样做只是改变pick到edit一个承诺。Git到达该提交时将停止,并在登台区域中提供提交的原始更改。您现在可以通过取消暂存或添加新更改来适应这些更改。
一旦登台区域包含您要在该提交中进行的所有更改,请立即提交更改。将显示旧的提交消息,并且可以对其进行调整以反映新的提交。
假设您已经进行了一次提交,但是稍后又决定可以将该提交分成两个或多个提交。使用与以前相同的命令,替换pick为edit并按Enter。
现在,git将停止在您标记为编辑的提交,并将其所有内容放入暂存区域。从那时起,您可以运行git reset HEAD^将提交放入工作目录。然后,您可以按不同的顺序添加和提交文件-最终将单个提交拆分为n个提交。
假设您已经完成了一些工作并且有多个提交,而您认为这些提交可以是单个提交。为此,您可以执行git rebase -i HEAD~3,并替换3为适当数量的提交。
这次更换pick与squash替代。在重新设置基准期间,您指示要压缩的提交将被压缩在先前的提交之上;而是将它们变成单个提交。
在我们结束本章 Git 基础之前,正好有一个小技巧可以使你的 Git 体验更简单、容易、熟悉:别名。 我们不会在之后的章节中引用到或假定你使用过它们,但是你大概应该知道如何使用它们。 Git 并不会在你输入部分命令时自动推断出你想要的命令。 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名。 这里有一些例子你可以试试: $ git con
假如你只能阅读一章来学习 Git,本章就是你的不二选择。 本章内容涵盖你在使用 Git 完成各种工作中将要使用的各种基本命令。 在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。 本章也将向你演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览你的项目的历史版
主要内容:关于版本控制,本地版本控制系统,集中化的版本控制系统,分布式版本控制系统本章关于开始学习 Git。这篇文章将从介绍有关版本控制工具的一些背景知识开始,然后讲解如何在系统运行 Git,最后是关于如何设置 Git 开始工作。 通过本章的学习,了解为什么 Git 这么流行,为什么要使用 Git 以及应该如何设置以便使用 Git。 关于版本控制 什么是“版本控制”?为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的
主要内容:直接记录快照,而非差异比较,近乎所有操作都是本地执行,Git 保证完整性,Git 一般只添加数据,三种状态Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在开始学习 Git 的时候,请努力分清你对其它版本管理系统的已有认识,如 Subversion 和 Perforce 等;这么做能帮助你使用工具时避免发生混淆。 Git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形
现在,你可以完成所有基本的 Git 本地操作-创建或者克隆一个仓库、做更改、暂存并提交这些更改、浏览你的仓库从创建到现在的所有更改的历史。 下一步,本书将介绍 Git 的杀手级特性:分支模型。
那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在开始学习 Git 的时候,请努力分清你对其它版本管理系统的已有认识,如 Subversion 和 Perforce 等;这么做能帮助你使用工具时避免发生混淆。 Git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形