ファイルを含む既存のフォルダーをSVNに追加するにはどうすればよいですか?


84

バージョン管理のないフォルダーを特定のSVNの場所に追加するにはどうすればよいですか?私はよくコードを書き始めますが、コードファイルを含むフォルダーがいくつかある場合にのみ、SVNに追加します。

私が通常行うことは次のとおりです。

  1. svncoコードを保存するための新しいフォルダーを作成する親ディレクトリ。
  2. svn mkdirを使用して、コードを配置するディレクトリを作成します。
  3. コードをコピーして貼り付けます。
  4. svncommit
  5. 現在の作業コードディレクトリを削除します。
  6. 使用して自分の作業コードのディレクトリを再作成のsvn共同

回答:


134

ディレクトリ~/local_dir/myNewAppにコードがあり、それを「https://svn.host/existing_path/myNewApp」の下に置きたいとしましょう(一部のバイナリ、ベンダーライブラリなどは無視できます)。

  1. リポジトリに空のフォルダを作成します svn mkdir https://svn.host/existing_path/myNewApp
  2. プロジェクトの親ディレクトリに移動し、 cd ~/local_dir
  3. ローカルフォルダ上の空のディレクトリを確認してください。恐れることはありません-ローカルにあるファイルは削除されません。svn co https://svn.host/existing_path/myNewApp。フォルダの名前がリポジトリ内とローカルで異なる場合は、追加の引数として指定する必要があります。
  4. これで、svn stすべてのファイルがとして表示されることがわかります。つまり?、現在、リビジョン管理されていません。
  5. svn addリポジトリに追加するファイルに対して実行し、他のファイルをに追加しますsvn:ignore。一部のファイル/フォルダのみを選択的に追加する場合は、svn help addたとえば--parentsまたは--depth emptyでいくつかの便利なオプションが見つかる場合があります。
  6. コミットする svn ci

ポイント5:作業ディレクトリのすべてのファイル/ディレクトリをbashでこの方法で追加できます:find . -name .svn -prune -o -print0|xargs -0 svn add
Nicolas M

1
新しいものをsvnに取り込むために私が今まで見た中で最高のハウツー。
Hart

これを行う方法:「フォルダの名前がリポジトリ内とローカルで異なる場合は、追加の引数として指定する必要があります」
Kristof Pal

1
@KristofPal:svn co https://svn.host/existing_path/myNewApp ~/local_dir/localNameOfFolder
qbolec 2016

1
@qbolec、「恐れることはありません」をありがとう。すべての「ベストアンサー」に+1。まだ恐れているかもしれない人々へのヒントとして:あなたがまだ恐れているならば、あなたはあなたの仕事をバックアップするかもしれません。
ステファンサミュエル

55

ユースケースを正しく理解した場合は、svn addを使用して新しいフォルダーをバージョンの下に置くことをお勧めしますここを参照してください。以下は、バージョン管理下でファイルを含む新しいフォルダーを再帰的に追加します(有効な作業コピー内にいる場合)。

svn add new_folder
svn commit -m "Add New folder to the project"

作業コピーを使用していない場合は、svn checkoutを使用して作成し、そこにnew_folderをコピーして、上記の手順を実行します。

または

試してみてくださいSVNのインポートを参照してくださいここに。以下は、新しいフォルダを作成し、ファイルをリポジトリにアップロードします。

svn import -m "Import new folder to the project" new_folder \
        http://SVN_REPO/repos/trunk/new_folder

また、次の点にも注意してください。

データをインポートした後、元のツリーはバージョン管理されていないことに注意してください。作業を開始するには、ツリーの新しい作業コピーをsvncheckoutする必要があります。


ただし、親フォルダーはバージョン管理下にありません。svnリポジトリのどこに置くかをどうやって知るのか
Siecje 2013年

あなたのフォルダがどこにあるのか私にはわかりませんが、あなたは「作業コピー」で作業していませんか?
pmod 2013年

フォルダを含む既存のsvnリポジトリがあります。svn以外のファイルとフォルダーを作成し、それらをリポジトリーに追加したいと思います。私が今やっている方法は、プロジェクトを置きたい場所の上のディレクトリをチェックアウトすることです。次に、貼り付けをチェックアウト場所にコピーして、そこにsvnaddを実行します。
Siecje 2013年

@Siecje私は今あなたが何を意味するのか理解していると思います
pmod

だから私はチェックアウトをしなければなりません、それは私がファイルを削除してSVNからそれらを再ダウンロードしなければならないことを意味しますか?それで、ウェブサイトファイルの場合、私がこれをしている間、サイトは一瞬ダウンする必要がありますか?
Siecje 2013年

9

コマンドは使いません。GUIを使用してこれを行うことができるはずです:

  • マイドキュメントフォルダの空のスペースを右クリックし、TortoiseSVN>リポジトリブラウザを選択します。
  • 入力します。httpを://転覆...あなたのパスを選択し、[OK]として(Subversionサーバ/ディレクトリにあなたのURLパスは、あなたがに保存されます)
  • リポジトリのルートディレクトリを右クリックし、[フォルダの追加]を選択します。プロジェクトの名前を付けて作成します。
  • リポジトリブラウザでプロジェクトフォルダを右クリックし、[チェックアウト]を選択します。CheckoutディレクトリがVisual Studio\Projects\{your project}フォルダになります。[OK]を選択します。
  • フォルダが空ではないという警告が表示されます。そのフォルダにチェックアウト/エクスポートするには、「はい」と言います。プロジェクトファイルは上書きされません。
  • プロジェクトフォルダを開きます。Subversionにまだ追加されていないVSプロジェクトに関連付けられているフォルダーに疑問符が表示されます。Ctrlキーを押しながらクリックしてこれらのフォルダーを選択し、選択したアイテムの1つを右クリックして、[ TortoiseSVN]> [追加]を選択します。
  • プロンプトで[OK]を選択します
  • ファイルを追加する必要があります。AddFinishedでOKを選択してください!ダイアログ
  • フォルダの何もない領域を右クリックして、[更新]を選択します。フォルダ/ファイルに「+」アイコンが表示されます。
  • フォルダ内の空の領域をもう一度右クリックして、[ SVNコミット]を選択します
  • コミットしている内容に関するメッセージを追加し、[OK]をクリックします

1

ローカル/作業コピーをSVNに追加することを意図している場合、私は以前は次の方法で追加していました。

注:私はTortoiseSVNクライアントを使用しています。これらの手順は、TortoiseSVNクライアントが既にインストールされていることを前提としています。

  1. ローカルにプロジェクト(Test-4.2.2)があります。SVNリポジトリにアップロード/追加したい。
  2. TortoiseSVNリポジトリブラウザを使用して、空のディレクトリ「Test-4.2.2」を作成しました
  3. 私のローカルでは、既存の「Test-4.2.2」ディレクトリの名前を「Test-4.2.2.1」に変更しました(一時的)
  4. SVNからローカルに空の「Test-4.2.2」をチェックアウトします
  5. 4.2.2.1の下のすべてのサブディレクトリをこのチェックアウトディレクトリにコピーします4.2.2
  6. 次に、「Test-4.2.2」を右クリックしてコミットします。
  7. 一時フォルダ「Test-4.2.2.1」を削除します

1

Windows 7では、これを行いました。

  1. SVNとTortoiseSVNをインストールしましたか?そうでない場合は、それらをグーグルして今すぐそうしてください。
  2. 他のリポジトリ(リポジトリの略)がある可能性のあるSVNフォルダーに移動します(または、リポジトリを最初から作成する場合は、場所Cドライブ、Dドライブなどまたはネットワークパスを選択します)。
  3. 新しいリポジトリを保存するための新しいフォルダを作成します。プロジェクトタイトルと同じ名前で呼んでください
  4. フォルダを右クリックして、Tortoise SVN-> Create Repositoryhereを選択します
  5. 「はい」と言ってフォルダ構造を作成します
  6. [OK]をクリックします。新しいフォルダ/リポジトリの横に「波」のような新しいアイコンが表示されます。
  7. 新しいリポジトリを右クリックして、SVNリポジトリブラウザを選択します
  8. 「トランク」を右クリック
  9. [フォルダの追加...]を選択し、開発中のプロジェクトのフォルダ構造をポイントします。
  10. [OK]をクリックすると、SVNによってフォルダー構造が追加されます。しばらくお待ちください。SVNがクラッシュ/フリーズしたようです。心配しないでください。それはその仕事をしています。

完了!


0

3つのステップ:

  • 「リポジトリブラウザ」を開きます(親フォルダのリンクを使用)。
  • 「フォルダの追加」を右クリックします。
  • フォルダを参照します。

ここに画像の説明を入力してください


この方法では、存在しないフォルダを追加することはできません。「フォルダーの追加」では、エクスプローラーウィンドウが表示されるので、既存のフォルダーをポイントできます。次に、コミットウィンドウが表示され、Subversionに追加できます。ローカル側に新しいフォルダーを作成するためのものではありません。手動で作成し、そこにデータを入力する必要があります。これを使用して、コンテンツをSubversionにコミットできます。これは話の半分だけを与えます。
vapcguy 2017

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.