1

私の同僚は、今朝 VS プロジェクトに取り組んでいました。彼は、それが私たちの中央リポジトリのフォルダー クローンにあったと主張しています。彼はアプリケーションのリリース バージョンを作成しましたが、これには正しい日付/タイム スタンプが付けられています。

その後、彼はこの間に数回コミットしたが、ある時点で、中央リポジトリから変更を取得して自分の変更にマージしようとしたと述べた。彼は自分がどのような手順を実行したかを本当に思い出せませんが、最終的に、ソースに対して行ったすべての変更が失われました。今、私は彼がそれらの変更のいずれかを回復できるかどうかを確認するのを手伝おうとしています.

彼は自分の変更をコミットした後 (いくつかのコミット)、tortoisehg ワークベンチに入り、引っ張って、中央リポジトリに多くの変更があることを確認したと私に言いました。彼は、「ローカルとマージ」または「更新」のいずれかをプルダウンしたヒントに決定しました - 彼はどちらを思い出せません。私は彼に 2 つのダイアログを見せて、変更を破棄するか、棚上げするか、またはその他のことを行うかを尋ねました。彼は本当に覚えていませんでしたが、カメが自分のしていることを気に入らなかったので、撤退しなければならなかったことを覚えていました. 最終的に、彼はリポジトリのヒントを更新できたようです。

彼が作業していたフォルダーを物理的に削除してから最新のものを取得しない限り、彼が行ったと主張するコミットはどこかに記録されていただろうと思いますか? リモートレポをプルするときに人々が犯す一般的なエラーは何ですか? ログ ファイルや履歴はありますか?

これをトラブルシューティングするためのヒントをいただければ幸いです。

4

2 に答える 2

2

まず、.hg とその下のすべてを含むツリーをどこかにバックアップします。それで...

hg heads

...彼が自分のコミットを見失っただけかどうかを確認します。そこにある場合は、更新して適切なマージを行っているだけです。

hg log -u 'His Username'

...コミットがリポジトリのどこかにあるかどうかを確認します。それらがそこにある場合は、それらから先に進むことができます。

hg shelve --list

...彼が物事をどこかに棚上げしたかどうかを確認する

を見て.hg/strip-backups、どうにかして変更を取り除いたかどうかを確認してください。それ以外の破壊的なものは、バックアップも残しておく必要があり.hgます。

それは良いスタートになるはずです。それらのどれも手がかりを与えない場合、他の人がいくつかのことを提案できるかもしれません.

于 2012-05-23T15:54:02.407 に答える
1

TortoiseHG についてはわかりませんが、通常は最初にhg out.

于 2012-05-23T06:54:50.060 に答える