这是让我非常恼火的场景。
Jack 在 foobar 一家软件公司工作,Jack 是一名正在工作的程序员,他喜欢编码并且经常提交。Jack 的经理 Paul 告诉他,我们将开始使用新的代码审查工具,phabricator。Jack 答应了,Jack 创建了一个本地分支并开始工作。他非常频繁地向他的本地分支添加功能和提交。现在,在一天结束时,他发送了一个 phabricator 请求。
arc diff development
作为 jacks 团队成员的 John 审查了他的代码并接受了他的更改。现在 Jack 打开终端并移动到他的存储库目录。Jack 键入以下命令以关闭修订并将他的代码与开发分支合并。
arc land --onto development
他看到以下消息
Landing current branch 'feature-awesome-features'.
Switched to branch development. Updating branch...
The following commit(s) will be landed:
b2ff76e Added the foo to bar
33f33ba Added a really important check which can destroy the project or save it
31a4c9a Added that new awesome feature
8cae3bf rewrote that awful code john wrote
bc54afb bug fixes
Switched to branch feature-awesome-features. Identifying and merging...
Landing revision 'D1067: Added the awesome feature'...
Rebasing feature-awesome-features onto development
Already up-to-date.
Pushing change...
现在,jack 打开 Github 以查看他的代码,以及他漂亮的提交。但他看到的是纯粹的恐惧,他所有的提交都被一个提交所取代,基本上是这样的
Summary: Added the awesome feature
Test Plan: do foo bar testing
Reviewers: John
Reviewed By: John
CC: Paul
Differential Revision: http://phabricator.foobar.com/D1067
现在杰克很伤心,因为他想看到他所有的提交,杰克认为这个提交让他看起来像他不是的囤积者。他想解决这个问题,所以他去问一个关于 stackoverflow 的问题。
That how may he prevent phabricator from eating his commit history.