Mercurial:削除チェンジセットからのリモート支店
-
05-09-2019 - |
質問
があるので、削除からのリモートチェンジセット、または削除全体にチェンジセット?I accidentely押し .war
ファイルへのリモートのレポ-レートしたいと思い取り外してください。
解決 3
私は歴史を編集するHG mqueueを拡張子を使用していました。働いたようです。 おかげで全てます。
他のヒント
Mercurialはあなたが一般的に歴史を変えることはできませんので、あなたのデータを安全に保つために非常に懸命にしようとします。
言われていること、あなたは非常に簡単にとにかく歴史を変更することができますMercurialのための多数の拡張機能があります。編集履歴について wikiにページがあります。このページにも影響を説明します。
あなたの特定のケースでは、あなたは他の人がすでに持っているあなたのチェンジを引かれる場合は自問する必要がありますか?もしそうなら、あなたはそれを削除しても、それはまだ彼らのクローンに存在しています、あなたは間違いを受け入れることとしたほうが良いかもしれません。
あなたはそれを削除することを決定した場合、私はそれなしでコピーを取得するためにhg clone
を使用することをお勧め。これは、常にバックアップを残しますので、安全な方法です。リモートリポジトリに[z]
をプッシュした場合:
[x] --- [y] --- [z]
そして今、それを削除し、サーバーにログインしてやりたい。
hg clone -r y repo repo-without-z
次にrepo-without-z
は[y]
まですべてchangestsを含んでいます - つまり、[z]
が削除されています。
[x] --- [y]
これで、作業を続けて、新しいチェンジセットをプッシュすることができます:
[x] --- [y] --- [w]
私はすでに[z]
のチェンジセットを引っ張られ、今[w]
を引っ張っていた場合、私は、リポジトリに二つのヘッドが表示されます:
[w]
/
[x] --- [y] --- [z]
これは、それ自体は危険ではありません - しかし、人々は驚くかもしれません。私は私のクローンから[z]
を削除した場合、私はあなたと同じリポジトリとなってしまいます。上記の書いたようにあなたは多くのユーザーを持っている場合しかし、これは非現実的かもしれません。
また、 MQ拡張するにのストリップ離れインプレースチェンジ。そのようにあなたが文句を言わない新しいクローンを作成します。
あなたがプッシュが非常に最後の操作は、サーバー上で行われたことを特定している場合は、最後に、その後、hg rollback
は、最後のトランザクションを削除するために使用することができます。しかし、あなたがリポジトリにプッシュすることができる唯一の1である場合に、これをしないそうでなければ、別のトランザクションをロールバックしてしまう可能性があります。
のBitbucket に、あなたは、サーバーにログインすることはできません。しかし、のBitbucketは最近、Webインターフェイスにストリップの機能を追加しました。 「管理」セクションの「リポジトリの管理」を探します。
Bitbucketなお、バンドルバックアップのみ)で剥離し、これは ない カウントに対する数量に達した場合。の理由で表示されなけでまだ無効になキャッシュのキーを指定するどのくらいの空間ご使用となります。
これはバグシステムは、すば.それまでのチェンジセットを除いて、バックアップは無料です:-)
った場合もしあなたが合併支店"、"チェンジセットからは"Common"支店の遠隔利用TortoiseHg:
- 作成支店をAAからの支店の親会社支店その原点です。
- 合併、入AA(作業ディレクトリ)を確認するオプション:"すべて破棄しますの変化からその他の改訂"をチェックします。
- 合併AAにDev支店(コミットメッセージを示すことを支店に変更がる。
だが支店に変更はなくなり存在するDev.