リポジトリに完了していない変更を誤ってコミットしました。ローカルの変更を失いたくないのですが、リポジトリ内のファイルを、変更をコミットする前の場所に戻したいと思います。
質問する
3049 次
5 に答える
9
これを行う機能があるかどうかわからない。しかし、私がすることは
- ファイルを取得して、別のディレクトリ(デスクトップなど)にコピーします。
SVNディレクトリで、その特定のファイルを以前のバージョンに戻します。- そのバージョンをコミットして、HEADバージョンにします。
- デスクトップからファイルを取得してコピーし直し、上書きしてチェックインしないでください
。
于 2010-06-21T20:05:16.937 に答える
2
唯一の選択肢は、変更をバックアップしてからサーバーで逆マージを実行してから、変更を作業コピーにコピーして戻すことです。
于 2010-06-21T20:04:34.500 に答える
0
SVNで「switch」コマンドを使用します。それは簡単で、知っておく価値のあるトリックです。
- 初めての場合は、ディレクトリ全体を安全な場所にコピーするか、WinZipを使用します(ディレクトリ構造を保持するにはオプションを使用します)。
- プライベートブランチ(プライベートブランチはありますか?ない場合は作成します)で、リポジトリブラウザを使用して問題のブランチのコピーを作成します。
- PCで「スイッチ」(TortoiseSVNでは「スイッチ」と呼ばれます)を実行して、ローカルフォルダーがプライベートブランチを指すようにします。
- チェックインしてください。
- 元のブランチに切り替えます。
- 元に戻します。
于 2010-06-22T01:21:29.057 に答える
0
コミットした特定のファイルを外部フォルダーに保存することをお勧めします。次に、リポジトリ内のファイルを元に戻してコミットします。これにより、コミットする前の状態になります。次に、保存したファイルを取得して置き換え、コピーにローカルの変更が含まれるようにします。
于 2010-06-21T20:05:38.227 に答える
0
アップストリームリポジトリの履歴を編集する以外に(この場合は実行できますが、編集しないでください)、これを実現する最も簡単な方法は次のとおりです。
- ローカルで変更を元に戻す
- 取り消された変更をコミットする
- ローカルで変更をやり直す
偶発的なコミットがあったと仮定しましょう(またはを$REV
使用して調べることができます)。次に、次の手順を実行します。svnversion
svn log
svn merge -c -$REV .
svn ci -m "Revert r$REV"
最後のコマンドの最後の行には、新しいリビジョン番号が表示されます。
Committed revision $NEW_REV.
以下を使用して、変更をローカルで復元します。
svn up # Necessary if your repository has mixed revisions (e.g. due to externals).
svn merge -c $NEW_REV .
(通常 $NEW_REV
は単に$REV
+1である必要があります。)
終わり。
于 2019-01-04T11:01:12.463 に答える