以下是令我十分烦恼的情况。
Jack在一家名为foobar的软件公司工作,他是一位工作程序员,他热爱编码并频繁提交代码。他的经理Paul告诉他,公司将开始使用一个新的代码审查工具phabricator,Jack遵从了指示,创建了一个本地分支并开始工作。他不断添加功能,并频繁提交到本地分支。最后在一天结束时,他向phabricator发送了一份请求。
arc diff development
杰克的团队成员约翰审查了他的代码并接受了他的更改。 现在,杰克打开终端并移动到他的存储库目录。 杰克键入以下命令来关闭修订版本并将他的代码与开发分支合并。
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...
现在杰克打开 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
现在Jack很难过,因为他想要查看他的所有提交记录,他认为这个提交记录让他看起来像囤货者,但他其实不是这样的人。他想要解决这个问题,所以他去Stack Overflow上提问。
That how may he prevent phabricator from eating his commit history.