Pro Git 中文版 第2版 2.1.66式更好。 在回答这个问题之前,让 我们退后一步,想讨论一下提交历史到底意味着什么。 有一种观点认为,仓库的提交历史即是 记录实际发生过什么。 它是针对历史的文档,本身就有价值,不能乱 改。 从这个角度看来,改变提交历史是一种亵渎,你使用 谎言 掩盖了实际发生过的事情。 如果由合并产生的提 交历史是一团糟怎么办? 既然事实就是如此,那么这些痕迹就应该被保留下来,让后人能够查阅。 另一种观点则正好相反,他们认为提交历史是 命令。 要应用一个由 format-patch 命令生成的补丁,你应该使用 git am 命令 (该命令的名字 am 表示它“应用 (Apply)一系列来自邮箱(Mailbox)的补丁”)。 从技术的角度看,git am 是为了读取 mbox 文件而构建 的, mbox 是一种用来在单个文本文件中存储一个或多个电子邮件消息的简单纯文本格式。 其大致格式如下所 示: 150 From 330090 支所添加的更改——也就是该分支与 master 分支合并所要引入 的工作。 要达到此目的,你需要让 Git 对主题分支上最新的提交与该分支与 master 分支的首个公共祖先进行比 较。 从技术的角度讲,你可以以手工的方式找出公共祖先,并对其显式运行 diff 命令: $ git merge-base contrib master 36c7dba2c95e6bbb78dfa822519ecfec6e1ca6490 码力 | 501 页 | 19.30 MB | 1 年前3
Pro Git 中文版 第2版 2.1.66更好。 在回答这个问题之前,让我们退后一步,想讨论一下提交历史到底意 味着什么。 有一种观点认为,仓库的提交历史即是 记录实际发生过什么。 它是针对历史 的文档,本身就有价值,不能乱改。 从这个角度看来,改变提交历史是一种 亵渎,你使用 谎言 掩盖了实际发生过的事情。 如果由合并产生的提交历史是 一团糟怎么办? 既然事实就是如此,那么这些痕迹就应该被保留下来,让后 人能够查阅。 另一种观点则正好相反,他们认为提交历史是 要应用一个由 format-patch 命令生成的补丁,你应该使用 git am 命令 (该 命令的名字 am 表示它“应用(Apply)一系列来自邮箱(Mailbox)的补 丁”)。 从技术的角度看,git am 是为了读取 mbox 文件而构建的, mbox 是一种用来在单个文本文件中存储一个或多个电子邮件消息的简单纯文本格 式。 其大致格式如下所示: From 3300904327 添加的更改——也就是该 分支与 master 分支合并所要引入的工作。 要达到此目的,你需要让 Git 对主 题分支上最新的提交与该分支与 master 分支的首个公共祖先进行比较。 从技术的角度讲,你可以以手工的方式找出公共祖先,并对其显式运行 diff 命令: $ git merge-base contrib master 36c7dba2c95e6bbb78dfa822519ecfec6e1ca6490 码力 | 670 页 | 13.59 MB | 1 年前3
共 2 条
- 1













