3

この質問は、「バージョン管理を解除する」ローカルファイル/ディレクトリの問題を扱っているため、それらをローカルに保持しますが、リモートリポジトリからは削除されます。私はやや反対の問題を抱えています.別の開発者が、ユーザーごとにあるはずのXCodeプロジェクトディレクトリをいくつかコミットしました. すでにローカルにバージョン管理されていないため、このディレクトリをローカルにチェックアウトできません。また、リポジトリから直接削除すると、更新時に両方のローカル コピーが削除されるのではないかと心配しています。

要約すると: - 開発者と私は両方とも、いくつかのファイルを含むローカル フォルダーを持っています - 開発者は自分のディレクトリを SVN にコミットしました - 開発者の作業コピーにはバージョン管理されたものが含まれています - 私の作業コピーにはバージョン管理されていないものが含まれており、更新できません

2 つの状況下での最適なルートは次のとおりです。

  1. 開発者は物事を修正するのに役立ちます
  2. 私はあらゆることをしなければならず、開発者の作業コピーを壊さないようにしなければなりません

ありがとう!SVN 1.6 リポジトリを使用しています。

4

1 に答える 1

7

特定の作業コピーをチェックアウトせずに、ファイルをリモートで削除できます。

 $ svn rm -m "Removing user property" http://repo/svn/project/.userprops

ただし、コンピュータの別の場所にある新しい作業ディレクトリをいつでもチェックアウトして、そこから削除することができます。変更をコミットする前に、何を行っているかを確認および検証できるため、この方法をお勧めします。さらに、逆マージを行うことで、悪いリビジョンを元に戻すことができます。

これらの誤って追加されたユーザーごとのファイルを含むリビジョンがリビジョン 43210 であるとします。

$ mkdir temp
$ cd temp                # New clean directory for new clean checkout
$ svn co http://repos/svn/project/trunk project-trunk
$ cd project-trunk
$ svn merge -c -43210    # Removes the bad revision
$ svn commit -m"Reversing revision 43210 because of bad pre-user files added"

以上です。

ところで、これが再び起こらないようにするpre-commit フックがあります。ユーザーがこれらのユーザーごとのファイルをプロジェクトに追加してコミットできないように構成するだけです。

于 2013-09-16T15:38:09.750 に答える