WEB開発におけるソース管理について質問です(PHP)
解決済
回答 8
投稿
- 評価
- クリップ 10
- VIEW 5,670
チームメンバー全員がこの手のシステムについて未経験なので、
ツールを使用した開発を始める際に注意しておいた方がいいと思う部分があれば教えてください。
以下が私たちのチームの背景になります。
・チームは、開発者とデザイナーで構成されています
・使用機器は、マックが一人1~2台です
・メンバーのほとんどが、コマンドラインでの運用には不満を抱いています
・開発しているツールは、大半がWebのシステムです
・ASP.NETやPHPで開発を行っています
対応方法として、以下のどれかを使ってみようと思っていくつか調べてみました。
CVS
Subversion
Microsoft Visual SourceSafe
PVCS
Git
Tourtoise SVN
Bazaar
皆様、どうぞよろしくお願いします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+7
- Windows 環境で開発するチームメンバーは SourceTree、TortoiseGit を第一候補に初歩的な導入と運用のマニュアルを何らかのチーム内のWiki等で管理しながら慣れてゆく。
- OSX 環境で開発するチームメンバーは SourceTree を使うと良いと思われます。
- 計算機やコマンドの扱いに長けた方は git コマンドや tig などで GNU/Linux 環境含め、お好みの環境で。
なお、質問でVCSとその特定のクライアントソフトウェアが混同されているように見受けましたので、もし混同しているようなら、VCSそのものとクライアントソフトウェアの組み合わせ、選択肢を一度整理すると良いと思われます。例えば、Tortoise SVNはSubversionのWindows向けのクライアントソフトウェアでVCSそのものではありません。
また、Git以外の選択肢にあるBazaarや他にMercurialなども比較的メジャーな分散型VCSとして存在しますが、現状の圧倒的な情報量(入門書籍、Webの解説資料、ユーザー数等)からGitを、またSubversionなどの分散型以前のシステムについてはチーム開発と運用ルールにも縛りが生じたり、そもそもGitを中心としたよりモダンなVCSへとそれらから移行しているプロジェクトが多数ある現状ですので新規に運用するにはおすすめしません。
ところで、Gitを運用する為には、各個人のリポジトリー(≈ソース一式を管理しているディレクトリー(=フォルダー))が、お互いにオンラインで、お互いにGitリポジトリーの設定としてリモートアクセス可能(ssh可能等)として運用するのでなければ、チームメンバーみんなが共通で使える1つのGitリポジトリーの中央サーバーを設置する必要があります。
チーム内でお互いのPCにSSH可能のような真に分散した開発環境とするわけでなければ(一般に多くの場合はしません)、チーム内で独自に中央サーバーを設置するか、GitHub、GitBucket、CodeBreakなどのGitリポジトリーのホスティングサービスを併用する必要もある点もお忘れなく。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
なのでGitがいいのではないでしょうか?(流行ってるし)
チーム全体で使っているIDE、エディタで対応している管理ツールを選ぶのがいいと思います。
Windows系ならば「Tourtoise SVN」のながれを組む 「Tourtoise Git」がありGUIベースでの管理も可能です。(MacにもGUI系のツールがあると思いますが・・・わかりません)
どのソース管理ツールを使うにしても運用がとっても大事です。
・コミットログは必ず書く
・コミットしたものをリリースする
など。
また、Microsoftでの開発ならば「Microsoft Visual SourceSafe」より「Team Foundation Server」のほうがおすすめです。イメージとしては、Redmine+SVNみたいなツールです。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
ソフトはTourtoise Gitを使ています。
おそらく、割と一般的な構成なのかな?と思っています。
分業ではなく、ほとんど単独で開発して、結合するとかなので、私がコードレビューしたり、過去の履歴で戻せるように(テスト以外で戻したことないえすが・・)なので少し環境違いますが、参考までに。
私は以下のサイトで基本的なことを手動かしながら確認しました。
・サルでもわかるGit入門
http://www.backlog.jp/git-guide/
walkmane99さんも書かれていますが、なにを使うにしてもあとから追えるログを記入します。
- 作業内容
- versionなどの管理番号
- 日時
ルールは必ず決めて、守るように運用しましょう。(守れるルールということ)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
分かったら、Gitを使うというのもありかと思います。
あと、Mercurialも分散リポジトリですが、https://bitbucket.org/を使うと無料でプライベートなリポジトリが作れるので練習には良いかもしれません。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
理由はSourceTreeがWindowsとMacで殆ど差異なく利用でき、
ソースコード、コミットログが確認しやすい、それと
SourceTreeのデザインがおしゃれな感じだからです。
TourtoiseSVNも利用していますが、Windows感のある硬い感じが少し苦手で、、、。
自分のモチベーションが上がる直感的なものを探していたらこうなりました。
Bitbucket
SourceTree
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
SourceTree ( http://www.sourcetreeapp.com/ )
を利用して、Mac や Windowsで同じ感覚でバージョン管理を行えます。
GitHubなどのサービスもある為、Gitの操作を覚えておくとオープンソースの開発に参加する事もできます。
そこで、個人的にスキルアップする事も出来ます。
Gitの機能を利用して複数の開発を同時並行で進めることが出来ます。
注意するべきポイントは、ルールを決めて開発履歴を綺麗に保つことです。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
codebreak;を使うと無料で非公開機能が使えます.
コマンドラインでの使用に抵抗があるようですが,コマンドラインのメリットもあります.
"Git デザイナ"とかでググるとわかりやすい解説サイトがけっこう見つかると思います.
disc_7さんの書かれている「サルでもわかる」もわかりやすいです.
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
ちなみに TFS は "Microsoft Visual SourceSafe" の後継です。
また、分散型だとファイルのロックができないので、 マージできないバイナリーや XML ファイルを管理するために結局集中型と連携が必要がなることもあります。
最初に背伸びしすぎると痛い目をみる危険性もあります。集中型で初めておいて、必要性を感じたら、分散型に移行するというようにしてはどうでしょうか。
Windows での開発のみということであれば、お勧めは TFS です。公式に Git との連携もサポートしています。
フリーがいいということであれば、 Subversion です。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる