0

サーバー(launchpad.net)にメインブランチがあります。悪い最後のバージョンを削除したいのですが、それを達成する方法がわかりません。ありがとう!

4

1 に答える 1

2

この目標を達成するには、履歴を変更するかどうかに関係なく、2 つの方法があります。履歴を変更しない方が安全ですが(リポジトリを他の人と共有している場合は一般的に推奨されます)、醜い「逆」リビジョンが作成されます。これを行うには、次のようにします。

bzr merge -r last:1..last:2 .
bzr commit

これにより、リバース チェリーピッキングを介して前のリビジョンの効果を反転する新しいリビジョンが作成されます。

履歴を変更したい場合 (見た目はすっきりしますが、共同作業者が依存する履歴を破壊する可能性があります)、既存のブランチを上書きすることができます。これには、ブランチが追加のみを許可するように構成されていないことが必要です (つまり、追加すると何が起こるかbzr init --append-revisions-only)。

を使用bzr push --overwriteして、既存のブランチをローカル コピーに置き換えることができます。

リビジョンを削除するには、bzr uncommitローカルで使用して悪いリビジョンを取り除き、悪いリビジョンなしでブランチをプッシュします。

ただし、このリポジトリが他のユーザーと共有されている場合は注意することをお勧めします。履歴を変更することは一般的に危険であり、さらに悪いことに、誤って履歴を削除しすぎて、作業が失われます。上書きする前にメイン ブランチをバックアップすることをお勧めします。

以下を使用できます。

bzr -d <branch> append_revisions_only=True

誤って上書きされないようにブランチを保護します。同様に、次を使用できます。

bzr -d <branch> append_revisions_only=False

上書きを許可します。

一般に、bzr push --overwriteは注意して使用する必要がある危険な機能です。

注: 私はランチパッドに詳しくありません。ランチパッドでは、安全上の理由からこの機能がデフォルトで無効になっている場合や、他のツールを使用して有効/無効にする場合があります。

于 2013-05-22T12:58:02.883 に答える