共同開発のための最も基本的でシンプルなプラットフォーム(PHPプロジェクト)とは何ですか?[閉まっている]


14

codeigniterを使用して、平均的なPHPアプリケーションで4〜5人のプログラマーと協力する必要があります。私たちは1つの都市の5つの異なる場所にいて、すべてのプログラマーはあまり教育を受けていないので、ほとんどのバージョン管理システムを使用したことはないと思います。

このようなプロジェクトで共同作業するための、非常に簡単に入手できるプラットフォームをお勧めできますか?共有のDropboxフォルダーよりも少しだけ洗練されたものについて話しています。


githubをタグとして使用しました。Githubはとてもいいです-プライベートリポジトリのお金はありますか?

SourceAnywhere Hostedをお勧めします。製品を使用することは非常に直感的です。実際、バージョン管理を検索すると、多くの優れた提案/ツールが見つかります。製品自体に加えて学習曲線を短くしたい場合は、製品を選択するときに「優れた顧客サービス」を念頭に置いてください。なぜなら、あなたは会社から優れたトレーニングと技術サポートを受けることができるからです。
風の

回答:


12

あなたはすでに答えを知っています

バージョン管理は、この正確な問題を解決するために設計されました。開発者がこの標準的な開発手法の使用を学習したくない場合は、開発者を再考する必要があります。標準的な慣行に対する嫌悪感と、新しいことを学ぶことに対する嫌悪感を示している場合、どのようなソフトウェアが大量生産されるでしょうか?

Pro Gitを読んでもらい、チーム用のプライベートgitリポジトリを設定することをお勧めします。


2
他の開発者を選ぶオプションも、バージョン管理を習得させるオプションもありません。私を信じて、私は両方を好むだろう。しかし、私はできません-それが私がこの質問をした理由です。アマチュアのデベロッパーはたくさんいますが、何を使用していますか?
エウス

6
彼らは適切なツールを学ぶか、ずっと後輩のままです。
エイドリアンシュナイダー

2
@Esuus gitを習得するのにそれほど時間はかかりません:try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia Gitはまったく単純ではないと思いますが、SVNの方がずっと簡単に理解できます。
マテイZábský

1
Gitについては知りませんが、TortoiseSVNを使用すると、経験の浅いユーザーでもSVNを簡単に処理できます。
ブライアン

4

... FTP

OK、これは私が共同作業を始めた方法で、Notepad ++をFTPに接続し、10分ごとに本当に名前が変更されたフォルダーにがらくたをバックアップします。

オンラインIDE

Cloud9は非常に優れており、同時編集機能がありますが、チームで作業するために複数のプライベートワークスペースが必要になりますが、それだけの価値はあります。

... Mercurialを試す

同僚がGitに十分に近づかない場合は、MercurialのGUIクライアントであるTortoiseHGでMercurialを試してください。セットアップに2分かかり、使用を開始するのに時間がかかりません。

GUIを使用して、4つのボタン(プル、更新、コミット、プッシュ)の使用方法を学習し、作業を保存および共有するために2つまたは3つの概念を学習する必要があります。

それらをbitbucketに登録してもらいます。プロジェクトのリポジトリを作成し、それらをフォークして、リポジトリの独自のミラーで作業できるようにします。そうすれば、マージに対処する必要がなくなります。統合行い、プッシュされたらBitbucketフォークからプルリクエストを発行するように依頼します。リポジトリ(フォークしたリポジトリ)からのみプルします。

関連するすべての問題を解決できるようにMercurialを自分で学習してください。これは良いスタートです:http : //hginit.com/

両方試してください

Cloud9からMercurialを使用できますが、それはどれほどクールですか?

仮定をやめる

あなたが正しいツールを使用したいと考えているなら、あなたはすでに指導的地位にいます。彼らが教育を受けていないと思い込まず、現実の世界で物事がどのように行われるかについて話し合ってください。

ひいきにしてはいけません。

あなたが正しいことをしたい場合、これは本当にこれ以上簡単にはなりません。彼らは場合は明示バージョンコントロールを使用したくない、あなたは、より深刻な問題の別の種類を持っているかもしれません。


質問者を引き付ける代わりに実際に質問に答えるのはこれだけだから、これが最良の答えだと思う。特に、Mercurialを人々にとって使いやすくする方法(マージと統合を自分の手で行う方法)に関するヒントを高く評価しています。これは、参加をためらう人々とバージョン管理を行う最も簡単な方法のようです。ありがとう!
ダリン

3

開発者にhttp://try.github.comをお勧めします

ただし、バージョン管理が不可能な場合は、基本的な(そして古風な)初心者/後輩に適したものを使い続けることができます。

  1. 開発サーバー上のAPP + DB
  2. 仕事中は常に同じメッセンジャーにいるので、誰が働いているかを話し、知ることができます
  3. 誰もが普通のFTPを介してDEVサーバーでライブ編集
  4. リビジョンを使用して変更ログを更新し、コードコメントを重要にするチームルールを適用する

開発サーバーのWebフォルダーのセットアップはsvn checkout(またはgit)にすることもできます。また、crontabをセットアップして、定期的に自動的にリビジョンを自動コミットすることも、バックアップをインストールするか、フォルダーを他のバックアップ場所にrsyncすることもできます彼らはお互いにファイルを上書きし(それが起こるので)、あなたはボブに彼が失った変更を与える必要があります。最終的には、数か月間システムを操作した後、svn / gitアクセスを許可するように頼みます。


ここでのすべての回答は役に立ちましたが(GIT / SVNを学習させる方法があるかどうかを真剣に検討しています)、実際に私の質問に答えたのはあなただけです。ありがとう。
エウス

2

私は、それらのほとんどがバージョン管理システムを使用したことがないと仮定しています。

その仮定を修正し、バージョン管理システムの知識や経験があるかどうかを確認する必要があります。彼らがいつ知識を得ることができると仮定しても意味がありません。

他の答えが言ったように、これがバージョン管理の目的です。Gitはおそらく最善の前進方法であり、Learn Gitは本当に良い出発点です


2

さて、version-controlを使用する以外に方法はありません。

Dropboxにはバージョン管理がありますが、2人でファイルを保存すると、新しいバージョンが古いバージョンを置き換えるだけで、ソフトウェア開発中のバージョン管理には望ましくないと思います。

Svnは習得が容易な(少なくともgitよりも簡単な)バージョン管理システムであり、オンラインでホストされているさまざまな公開リポジトリを見つけることができますが、地理的に分散したチームにはお勧めしません。

したがって、分散チームに行く方法はgitです。ソースを公開するか、プライベートプランを購入しても問題がない場合は、githubにリポジトリを作成します。

これらの開発者がバージョン管理システムを概念的に把握しやすくするためのgitのGUIが見つかるかもしれません。Windowsの場合はTortoiseGITです。LinuxやMAC用のgit guiクライアントは使用していませんので、ここではお勧めしません。


Dropboxには1つの利点があります。それは、使用中にソース管理システムを使用したことがないユーザーをDropboxで使用できることです。これは、科学の教授と仕事をする際に大きな利点となります…
ドナルドフェローズ

GitHubには、コードを公開したくない場合のプライベートリポジトリもあります。
VirtuosiMedia

@VirtuosiMediaはい、知っていますが、無料かどうかわかりません。
Ozairカフレ

@OzairKafray無料ではありませんが、かなり安価です。最小のプランでは、月に7ドルで5つのプライベートリポジトリと、無制限のパブリックが提供されます。
VirtuosiMedia

2

あなたは正しい軌道に乗っています

version controlling行く方法です!これは、コード共有のコラボレーションと統合の支援に役立ちます。さらに、頻繁なチェックインは、すべてのチームが練習する必要がある非常に重要な規律です。

ただし、プロジェクトに適切なバージョン管理選択することは非常に重要です。

あなたが決定するのに役立つ最近の素晴らしい投稿と回答があります:バージョン管理を教える良いおもちゃの例は何ですか?

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