Crowi
使い方ガイド

履歴とロールバック

ページ履歴、差分表示、過去版へのロールバック

ページを保存するたびに、その時点の本文が リビジョン(Revision) として 記録されます。Crowi のページ本体は常に最新リビジョンを指しており、過去の リビジョンはすべて履歴として残ります。これにより「いつ・誰が・何を変えたか」 をあとから追跡し、必要なら過去の状態に戻すことができます。

リビジョンとは

リビジョンは 1 回の保存で 1 つ作られる、ページ本文のスナップショットです。 各リビジョンは次の情報を持ちます。

  • ページのパス
  • 本文(Markdown)
  • 作成者
  • 作成日時
  • 保存者(savedBy)と共同編集者(contributors)

savedBycontributors はリアルタイム共同編集で保存したときに記録される 情報です。savedBy は「保存」ボタンを押したユーザー、contributors は その保存サイクル中に同じページに居合わせたユーザーを表します。詳しくは リアルタイム共同編集 を参照してください。

Note: Crowi 1.x で作られた古いリビジョンには savedBy / contributors がありません。その場合は従来どおり作成者(author)のみが 表示されます。

履歴を見る

ページの履歴は /_history?path=<ページパス> の履歴画面で確認できます。 履歴画面には、そのページのリビジョンが新しい順に一覧表示されます。

一覧の各行には以下が表示されます。

内容
From / To差分比較する 2 つのリビジョンを選ぶラジオボタン
編集者リビジョンの保存者。共同編集者がいる場合は併記されます
作成日時リビジョンが作られた日時
リビジョンリビジョンの識別情報

共同編集で作られたリビジョンは、保存者と共同編集者が組み合わさって 「Alice(with Bob, Carol)」のように表示されます。

差分を表示する

履歴画面では、任意の 2 つのリビジョンを選んで 差分(diff) を表示 できます。

  • 履歴画面を開くと、デフォルトで「最新リビジョン」と「その 1 つ前の リビジョン」が選択され、最も直近の変更がすぐに表示されます。
  • From / To のラジオボタンで比較したいリビジョンの組を選び、「Compare」 ボタンを押すと、下部の差分ビューが更新されます。
  • リビジョンが 1 件しかないページ(=作成後一度も更新されていないページ) では、最初のリビジョン単体が表示されます。

特定のリビジョンを直接開く

ページ URL の末尾に ?revision_id=<リビジョン ID> を付けると、 過去の特定リビジョンを直接表示できます。表示中のリビジョンが 最新リビジョンではない 場合、ページ上部に stale-revision バナー が表示され、古いスナップショットを開いていることと、 最新版に戻るためのリンクが提示されます。

stale-revision バナーが出ているときは、プレゼンス行やページ操作 ツールバーといった「最新リビジョンに対してのみ意味がある操作」も 非表示になります。

?revision_id= は通常ページだけでなく ポータルページ(末尾が / のディレクトリページ)でも同じように働きます。ポータルを過去版で 開いたときも、ポータル本文の上部に同じ stale-revision バナーが表示 されます。

過去版へのロールバック

過去のリビジョンの内容に戻したい場合は、ロールバック を行います。

ロールバックは「過去リビジョンの本文を新しいリビジョンとして保存し直す」 操作です。履歴を巻き戻すのではなく、過去の本文をもう一度保存することで、 そのページの最新状態が過去の内容に置き換わります。

過去版を ?revision_id= で開くと表示される stale-revision バナーには、 「この版に戻す」 ボタンがあります。

  • ボタンを押すと、確認ダイアログなしにその場でロールバックが実行され、 ロールバック後の最新ページ(?revision_id= の付かない URL)へ 自動的に遷移します。確認を挟まないのは、ロールバックが非破壊 (履歴を消さずに新しいリビジョンを 1 つ追加するだけ)で、いつでも やり直せるためです。
  • 古い版を開いている間に他のユーザーがそのページを更新していても、 ロールバックは常に サーバー側の最新リビジョンの上に 積まれます。 競合エラーにはならず、履歴もすべて残ります。
  • 通常ページとポータルページのどちらでも同じバナー・同じボタンから ロールバックできます。

ロールバックしても、それまでのリビジョン履歴は消えません。あくまで 新しいリビジョンが 1 つ追加されるかたちです。これにより「いったん 戻したが、やはり元に戻したい」という場合にも、さらに新しいリビジョン として再度切り替えられます。

Tip: 履歴が一直線に積み上がるため、誤った編集に気づいたときも安全に 巻き戻せます。「履歴を消さずに前進だけする」のが Crowi の履歴モデルです。

関連ページ

On this page