2

コマンドsvnを使用してリポジトリのクローンを作成しました。git svn cloneローカルの作業コピーで、いくつかの変更を加え、いくつかのファイルを削除しました。変更をローカルでチェックインした後git commit、変更をリポジトリにプッシュするときが来ました。

git svn dcommit
git svn rebase

新しいファイルとディレクトリはすべてリポジトリにプッシュされていますが、削除されたファイルはホストシステムのリポジトリに残っています。言い換えれば、その後でもgit svn rebase(私が知る限り、リポジトリからすべての変更をフェッチするコマンドです)、ローカルコピーとリポジトリは大幅に異なります!

自分自身をより明確にするために:私はリモート/ホストコンピューター上にリポジトリを持っています。これは、人々がアクセスできる多くの異なるリポジトリがある中心的な場所です。リポジトリの1つをローカルコンピュータにチェックアウトし、いくつかの変更を加えて(つまり、ファイルを削除して)、変更を中央リポジトリにプッシュ/送信/保存したいと思いました。新しいファイルが作成されましたが、削除したファイルは中央ホストの中央リポジトリにまだ存在しています。

ローカルチェックアウトとホストシステム上のリポジトリを等しくするために何をする必要がありますか?

4

1 に答える 1

0

svn問題はリポジトリにある可能性があり、removeステートメントを正しく処理できませんでした。

記載された手順に問題があるとは思いませんが、不要なディレクトリを「手動で」削除する手順は次のとおりです(ディレクトリのみが残っており、すべてのファイルが適切に削除されていると仮定します)。

  1. svn リポジトリを確認してください

    svn co <e.g. link to trunk path>
    
  2. ローカル チェックアウトですべてのディレクトリを手動で削除します (ローカル ファイル構造でそれらをすぐに削除するわけではありません)。

    svn rm <directory>
    
  3. 変更をリポジトリにコミットします。その後、変更がリポジトリとローカル ファイル構造に表示されます。

    svn commit -m "<Sense-full message>"
    
于 2013-01-31T13:33:06.067 に答える