これが私をかなり悩ませているシナリオです。
Jack は foobar というソフトウェア ハウスで働いています。Jack はワーキング プログラマーであり、コーディングが大好きで、頻繁にコミットしています。jack のマネージャーである Paul は、新しいコード レビュー ツールである phabricator の使用を開始することを彼に伝えました。ジャックは同意し、ジャックはローカル ブランチを作成して作業を開始します。彼は頻繁にローカル ブランチに機能を追加し、コミットしています。1 日の終わりに、彼は 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...
ジャックは 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
ジャックは自分のすべてのコミットを見たいと思っているので、悲しんでいます。ジャックは、このコミットが自分をThe Hoarder のように見せていると考えていますが、彼はそうではありません。彼はこれを修正したいので、stackoverflow で質問に行きます。
That how may he prevent phabricator from eating his commit history.