1

準備ができていないメインブランチに誤っていくつかの変更をプッシュしたので、すぐにバックアウトを実行しました。後で、トランクからブランチに新しい変更をマージしようとしましたが、マージはうまく機能しませんでした。特に、バックアウトはすべての変更を元に戻したいという意味だと考えられていたようです。幸い、変更したファイルはメインブランチの変更によって変更されなかったため、ファイルをローカルに戻すことができましたが、競合が発生した場合、これは面倒でした。この状況で行うべき正しいことを取り消すことでしたか、または後で潜在的な競合を回避するために私ができることが他にありますか。

4

2 に答える 2

3

あなたはしたくrollbackなかっbackoutた。ロールバックは、最後のプル(または受信したプッシュ)またはコミットの1レベルの取り消しです。バックアウト。指定したチェンジセットの逆を適用します。

たとえば、コミットを実行し、コミットメッセージにタイプミスがあることに気付いた場合rollback(他にプルやコミットを行っていない場合。一方、新しいスレッドスケジューラが不良であることに気付いた場合)選択して元に戻したい場合は、バックアウトを実行します。これにより、履歴には、下って決定したパスが反映されます。これも貴重な情報だからです。

プッシュを元に戻したい場合は、受信側にログインしてそこでロールバックを行う必要があります。

于 2010-09-08T02:42:45.323 に答える
0

私にも起こりました。それが他の誰かを助ける場合:私のリポジトリはとにかくプッシュを許可するべきではありませんでした。それを行い、.hg/hgrcファイルに入れます。

[hooks]
prechangegroup = false

つまり、誰かがそのリポジトリにプッシュするのを防ぎたい場合です。

于 2011-01-22T09:59:29.890 に答える