1

特定のフォルダーにファイル (SomeFile.cs など) を追加しました。機能実現後、一気にコミットしたかったのでコミットしませんでした。誰かがフォルダー名を変更し、その下のファイルの名前を変更するまで、svn update はこれでうまくいきました。

翌日、svn checkout を実行すると、ツリー レベルの競合が発生したため、新しく追加したファイルをこの「新しい」場所にコピーし、「それらを使用して解決」しました。

解決により、すべてのローカル ファイルが削除され、新しいフォルダーとファイルに置き換えられました。コンピューター全体 (ごみ箱を含む) でローカル ファイル (作業コピーにあった) を見つけることができませんでした。

少なくとも、svn に追加 (「追加」オプション) され、「コミット」を使用して svn にコミットされていないファイルを取得するオプションはありますか? よろしく

4

3 に答える 3

0

「リビジョンに更新」してみてください。ただし、ファイルがコミットされていないため、最良のシナリオではディレクトリ構造が復元される可能性があります。
一般に、「彼らを使用して解決する」オプションは、「私は失敗した、彼らは正しい」->私が間違っているものは何でも、彼らが持っているものは正しい->私のコピーを上書きすることと同じです。

于 2012-08-07T10:55:51.557 に答える
0

私の知る限り、svnにコミットされたファイルのみが回復可能です。しかし、競合を彼らの競合とマージすると、変更がローカルで上書きされます。

于 2012-08-07T10:37:19.350 に答える
0

あなたが求めているのは、SVN のワークフローにかなり反するものです。物事はコミットされるまでリポジトリに保存されないため、「安全」ではありません。あなたは頻繁にコミットすることになっています。

作業をしようとしているが、他の人のツリーの変更が邪魔になるのではないかと心配している場合は、ブランチを作成することを検討してください。 http://svnbook.red-bean.com/en/1.7/svn.branchmerge.html

ただし、SVN はローカル作業コピー内の変更されたファイルを上書きすることはありません。svn update を実行し、誰かが何かを追加/変更した場合、「競合」が発生し、手動で解決する必要があります。これらの競合を手動で解決し、誤って作業内容を上書きしてしまいました。これが、頻繁にコミットする必要がある理由です。コミットしたものはすべて回復できます。

于 2012-09-21T16:35:25.973 に答える