Mercurialは、の不変のの考え方を基に構築されています。すべての変更は厳密に新しいチェンジセットの追加です。たとえば、何かを削除するには、反転コード(backout
コマンドを使用)を追加します。これにより、悪いコードとその削除の両方の履歴が(履歴に記録されているのではなく)履歴に記録されます。
モデルは、ナンバーページのペンで自分のログブックに書き込む科学者のもので、成功と失敗の両方を記録します。
これは基本的な水銀機能は、決してプッシュされていなくてもコミットメッセージを改訂するつもりはないということです。しかし、あなたがそれに満足するまでコードを修正し続ける他の方法もあります。変更可能なオーバーレイであるMercurial Queueを使用することができます。
しかし、私はあなたに不変性を取り入れた作業モードを採用していましたか?あなたがコミットにissue IDを入れることは素晴らしいことです。それを続けて、同じIDを持つ後続のチェンジセットで何か更新や修正を行うだけです。
は、その後、あなたのような何かを行うことができるようになります:瞬時にそのタスクIDに関連するすべての変更をお見せします
hg log --keyword Task34
を、そのうちのいくつかがある場合は、「別のものを取って、以前の試みをバックアウトfoobazモジュールを使用してそれを刺してください "というのは良い習慣であり、欠陥ではありません。
"hg rollback"?たぶんそれは私ですが、コミットの概要を変更することは、「コミット」が意味することの原則に違反しているようです。 –
あなたはMercurialでコミットメッセージを変更すべきではありません。コミットの不変部分を考慮する必要があります。あなたは最初からリポジトリを書き直す必要がありますが(これを行うツールはありますが)、新しいリポジトリは書き換え前のクローンと互換性がありません。 BitBucket、Codeplex、Kilnのようなどこかでソフトウェアをオンラインでホストしていますか? –
いいえ私のサーバー上にありません – Karan