2011-10-30 11 views
1

私は小さな問題を解決するためにtortoiseSVNを使用しようとしています。TortoiseSVN - localhost上のリポジトリ、次にlocalhostとオンライン上の作業コピー。可能?

私は開発用ラップトップを持ち、その上に自分のウェブサイトの大半を開発しています。 しかし、私が動いていて、誰かが私にバグを報告しているSMSを送ってきたら、そこのどのコンピュータでも自分のftpにログインし、ウェブサイトを「ライブ」自体で修正することがよくあります。

私はその後、私の開発のラップトップ上に追加の変更を行う場合、私は頻繁に私が行ったライブの変更を忘れて、そして結果としてそれを失います。

そのように、私はこの問題を軽減するためにTortoiseSVNのを使用することを探しています。

マイホスティングアカウントは、SVN repositorysをサポートしていませんHostgatorのと共有ホスティングアカウントです。

は、私はSVNが動作する方法は、私の「ライブ」のコピーがリポジトリでなければならないということであることを考えるように修正するのですか?または私はポイントを逃している?

誰かが、私はそれがホスティング変更...または多分私の状況が良く合っ代替を必要とする場合でも、私が欲しいものを達成することについては行くだろうか説明してもらえ..?

多くのありがとうございます。

トム

答えて

2

私はあなたが「ライブ」のコピーで何を意味するかわからないんだけど、ここであなたはSVNでどのように動作するかです。あなたはSVNサーバを持っている

まず、これはあなたのラップトップなどであってもよいが、好ましくは自動バックアップを別々にする必要があり

そして、ローカルマシン上のあなたは作業コピーを持っています。作業コピーは、主にサーバー上のコンテンツのクローンですが、ローカルで変更されています。ローカルの変更に満足したら、変更をサーバーにコミット(送信)します。ローカルの変更に満足していない場合は、サーバー(または古いバージョン)のバージョンに簡単に戻すことができます。

実稼働環境に移行するには、svnとは関係ありません。これは、展開プロセスまたは解放プロセスと呼ばれます。デプロイメントプロセスは通常、コンパイル、インストーラのバックアップ、またはインストールするファイルの収集を行い、最終的に結果を運用環境にインストール/コピーします。

アプリケーション/ Webサイトの「マスター」のコピーは、SVNサーバー上にある必要があります。実稼働環境に何かを得るには、スクリプトを実行するか、作業コピーからプロダクションにコンテンツを取得する手動の手順に従います。

ラップトップの代わりにマスターコピーとしてsvnサーバーを使用すると、運用環境で直接ファイルを編集して不正行為を行った場合に、更新が失われるという問題は解決しません。しかし、リモートシェルアクセス(ssh)を使用している場合は、運用サーバー上にローカル作業コピーを作成し、作業コピーの内容を編集し、コマンドラインsvnツールでチェックインできます。

編集
明確にする:あなたのコピーが絶対にリポジトリであってはならない "生きます"。リポジトリは、通常のファイルツリーのような構造ではありません。より多くの一連のチェンジセットに似ています。
あなたの「ライブ」コピーは、好ましくはのいずれかでなければなりません。作業コピーには、あなたの公開Webサイトでは望まない「もの」を追跡するための特別なフォルダとファイルが含まれています。ライブコピーは、作業コピーの関連ファイルのコピーでなければなりません。 copy *.html /www-folder/またはsvn exportまたはさらに詳しい方法。

+0

まあ私の現在のホスティングアカウントはSVNリポジトリのセットアップを許可していないので、私のラップトップになければなりません。 あなたは基本的に私のライブバージョンを編集してはいけないと言っていますか?IEインターネット上で見ることができるバージョンですが、サイトの展開を担当している場合は、作業コピーが最新の状態にして、手動ですべてのファイルなどをアップロードします。 ここで懸念しているのは、たとえば、1行のバグがある場合、私は自分の作業ファイルを更新し、リポジトリを更新してから、1つのファイルをアップロードし直さなければならないということです。 –

+0

あなたが選ぶことができる外部のsvnホストがたくさんあります。あなたのホスティングプロバイダがあなたにsvnホスティングをサポートする必要のないシェルアクセスを提供している場合は、あなたの現在のホストでsvnクライアントを実行し、そこにローカルな作業コピーを保存することができます。次に、編集時にその作業コピーとの間でファイルをftpしたり、リモートシェル経由でコミットしたり、展開スクリプト( 'copy ./*.html/www-dir/site /'など)を実行できます。 –

+0

私は、私が知っている会社のサービスによって、事前のテストや何が行われたのかの痕跡がなくても、生産に入ることはないと言っています。 –

0

最良の答えの一つは、あなたのウェブサイトはミラーブランチまたは直接リポジトリです分散型バージョン管理システム(または作業コピー、それはDVCSで同じです)を使用することです。
バージョンコントロールから直接利益を得ることができます。

Bazaar、Git、またはmercurialを使用して、他のDVCS(それ以外は主要なもの)を使用できます。

+0

私はちょうどtortoisesvnのハングを得ました:) Albinの助けてくれてありがとう... TridenT、私はBazzar/Git/Mercurialがライブ版を(それが記述されたように)リポジトリにすると思っています。多くのPC上で多くの作業コピーを持つことができますか? これらにはtortoisesvn esqueプログラムがありますか? –

+0

はい、これは正確です。もちろんTortoiseBzr、TortoiseGit、TortoiseHgがあります。あなたがSVNで始まっても、BazaarとMercurial(Hg)を見ても、SVNと非常に似ています**。 – TridenT

関連する問題