web-dev-qa-db-ja.com

バージョン管理とPHP

バージョン管理についてはまったくわかりません。それだけが多くの点で非常に役立つことができます。

私はいくつかの関連する質問を見つけましたが、絶対的な最初から始まるものはありません。

私はMacOS Xを使用している私の仕事で唯一の開発者であり、伝統的にFTPを使用しています。

PHPプロジェクト(重要ですか)に関連するバージョン管理について誰かが私を助けてくれますか?

34
alex

はい、試してみてください。それだけの価値があります。また、使用している言語は関係ありません。それは私にとってPHPでうまく機能しており、あなたにとってもそうなるでしょう。

メリット

あなたが唯一の開発者である場合、バージョン管理なしで行くのは確かに簡単です。ただし、バージョン管理システムを使用することには大きなメリットがあります。最も簡単な利点のいくつかは次のとおりです。

  1. プロジェクトに戻ったら、最新バージョンは何であるか疑問に思うことはありません(myproject090201-archive2-final6.Zipはもうありません)
  2. いくつかの主要なリファクタリングを開始することを恐れないでください。ファイルを間違えた場合は、最新バージョンにロールバックするだけです。
  3. プロジェクトで何かが機能しなくなり、ある時点で機能したと感じた場合は、以前のバージョンのいくつかを簡単にテストし、機能しているバージョンと機能していないバージョンの違いを調べて、コードが壊れている原因を見つけることができます。
  4. 現在のプロジェクトの追加のバックアップ、およびそれがマシン上にない場合はさらに良い...もちろん、バージョン管理システムをバックアップするための追加のポイント、私たちは決して慎重ではありません、あなたはその月を再起動する必要はありません-長いプロジェクトですか?

選択肢

一部の人が言っているように、バージョン管理システムにはいくつかの選択肢があり、無料のものを始めたいと思うでしょう。いくつかの優れた商品がありますが、無料のものは恥ずかしいことは何もありません。それで、ここにいくつかの非常に人気のある無料のバージョン管理システムがあります:

集中型と分散型

Subversionはしばらく前から存在しており、「集中型」に分類されています。つまり、誰もが常に最新バージョンを取得し、最新の作業を1つの中央システムにコミットします。多くの場合、別のシステムにコミットしますが、自分のマシンに簡単にインストールできます。わかりやすいプロセスです。

他の3つは「分散」と呼ばれます。より柔軟なシステムであるため、さまざまなプロセスが考えられます。そのため、最近、多くの人々が相互作用しているオープンソースプロジェクトで、これら3人の新参者が大きな注目を集めています。基本的に、自分のマシンで自分のリビジョンを操作し、必要な数のコピーを作成し、他のコンピューターで他の人と共有するバージョンを決定します。

トレンドは間違いなく分散システムに向かっているように見えますが、それらのシステムは最近のものであるため、使いやすいGUIツールがまだ不足しており、ドキュメントが少し軽い場合があります。一方で、これはすべてすぐに修正されているようです。

あなたの場合、一人で作業しているので、おそらく大きな違いはありません。集中型および分散型システムの非常に良い点を聞くことができますが、どちらでも問題なく作業できます。 。

ツール

Mac用のGUIツールがどうしても必要な場合は、SVNを選択してソース管理を開始します。そのための2つの非常に優れた製品があります(商用):

そして、いくつかの 他のもの (無料の svnX など)は少し古くなり、私の意見では不親切になっていますが、とにかく試してみると面白いかもしれません。

GUIツールを使用しなくてもかまわない場合は、ターミナルを使用すると、前述のシステムのいずれかを使用して、いくつかの簡単なコマンドラインで同じことをすべて実行できます。

出発点

いずれにせよ、いくつかの出発点が必要になります。

  • Subversionの場合、最初に立ち寄るのは無料の本である必要があります Subversionによるバージョン管理 。章を通過するためにあなたの一日の数時間を取りなさい、それは十分に投資された時間になるでしょう。導入の章は、バージョン管理を少しよく理解できるようになるため、Subversionを特に使用したくない場合でも読むのに適しています。

  • 分散システムの場合、私はMercurialを楽しんできましたが、可燃性の問題なので、そこで自分で選択できるようにします。しかし、Mercurialを見ることになった場合は、 このブログ投稿 をご覧ください。これは、基本的なことを数分で開始できる優れたスターターでした。すでに一般的なバージョン管理に少し慣れています。とにかく、 Mercurialのホームページ に立ち寄って、ページの「はじめに」セクションを見てください。

結論

試してみて、いくつかの偽のファイルで試してみてください。ファイルとディレクトリの名前の変更、消去、移動、バイナリファイルとテキストファイルのコミット、競合の解決、古いバージョンへの復帰を試してみてください。これらは多くの場合、バージョン管理で遊ぶときに遭遇する最初のいくつかのハードルであり、非本番プロジェクトの場合は問題ありません。

いずれにせよ、現在の仕事や次の仕事で他の開発者と一緒に仕事をすることになった場合だけでなく、ソロプロジェクトにも役立つことは学ぶ価値のあることです。

幸運を!

68
lpfavreau

コードの種類は関係ありません。

オープンソースで人気のあるバージョン管理システムの1つはSubversionであり、非常に優れた概要/マニュアルがあります ここ

5
nzpcmad

私は Git for PHP開発に使用します。

それは高速で、柔軟性があり、信頼性が高く、クリーンです(CVSとSVNは、私が個人的に嫌いな隠しフォルダーをたくさん作成します)。

その分散性により、(中央リポジトリの有無にかかわらず)希望どおりに機能することができます。

あなたはそれについてもっとここで見つけることができます:

3
Luis Melgratti

さらに、Eclipse PDT(PHPプラグイン)を入手して、IDEでSubclibseを使用できます。

2
Ian P

バージョンは、私が一緒に仕事をしている別の開発者にとってはうまく機能しています。さらに、Textmateを使用している場合、SVNバンドルはSubversionワークフローのほとんどの部分に必要なほとんどすべてを提供します。私は本当にそれが好き。

Project Plus プラグインは、プロジェクトツリー内のバージョン管理されたファイルに小さな目立たないバッジを追加することでさらに一歩進んで、プロジェクト内のファイルの状態を一目で示します。

2
GloryFish

bazaarを使用する http://Bazaar-vcs.org/

とても素敵で、数分で使い始めることができます。

1
JRomio

Macを使用している場合は、美しくデザインされた(そして非常に機能的な)SubversionGUIであるVersionsを選んでください。コマンドラインにジャンプする前に、用語を学び、GUIを使用してSubversionがどのように機能するかを理解することをお勧めします。コードのリビジョンをコミットし、更新を実行して他の人の作業を取得できるようになったら、戻って小豆の本を読んでください(Subversionの詳細を学ぶための最良の方法です)。

http://versionsapp.com/

1
typeoneerror

他のオプションもチェックしてください-Miscrosoftの [〜#〜] tfs [〜#〜] (これはソース管理システムだけでなく、欠陥追跡、プロジェクト管理などにも使用されます)、 BazaarGit 人気のあるものです。

0
Svet