質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • PHP

    24523questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • バージョン管理

    32questions

    バージョン管理はコンピューター上にファイルとして格納されているドキュメント・プログラム・その他の情報の変更履歴等を管理するものです

WEB開発におけるソース管理について質問です(PHP)

解決済

回答 8

投稿

  • 評価
  • クリップ 10
  • VIEW 4,002

akari234

score 40

私たちはソースコードの管理システムに取り組み始めたばかりのチームです。

チームメンバー全員がこの手のシステムについて未経験なので、
ツールを使用した開発を始める際に注意しておいた方がいいと思う部分があれば教えてください。

以下が私たちのチームの背景になります。

・チームは、開発者とデザイナーで構成されています
・使用機器は、マックが一人1~2台です
・メンバーのほとんどが、コマンドラインでの運用には不満を抱いています
・開発しているツールは、大半がWebのシステムです
・ASP.NETやPHPで開発を行っています


対応方法として、以下のどれかを使ってみようと思っていくつか調べてみました。

CVS
Subversion
Microsoft Visual SourceSafe
PVCS
Git
Tourtoise SVN
Bazaar

皆様、どうぞよろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 8

checkベストアンサー

+7

挙げられた選択肢、他のVCS、質問時のチームや機器やプラットフォームの構成も考慮した上でベストなソリューションは Git です。

  • Windows 環境で開発するチームメンバーは SourceTree、TortoiseGit を第一候補に初歩的な導入と運用のマニュアルを何らかのチーム内のWiki等で管理しながら慣れてゆく。
    - GitHub を併用する場合には GitHub for Windows という手もありますが、本当に初歩的な状況からタグやブランチを扱いだすと機能的に不足となるのであまりおすすめできません。
  • 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

歴史的にCVSまたはVSSの時代からSVNを経てGitという流れになってます。(ほかにもあるのでしょうが)
なのでGitがいいのではないでしょうか?(流行ってるし)
チーム全体で使っているIDE、エディタで対応している管理ツールを選ぶのがいいと思います。
Windows系ならば「Tourtoise SVN」のながれを組む 「Tourtoise Git」がありGUIベースでの管理も可能です。(MacにもGUI系のツールがあると思いますが・・・わかりません)

どのソース管理ツールを使うにしても運用がとっても大事です。
 ・コミットログは必ず書く
 ・コミットしたものをリリースする
など。

また、Microsoftでの開発ならば「Microsoft Visual SourceSafe」より「Team Foundation Server」のほうがおすすめです。イメージとしては、Redmine+SVNみたいなツールです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

Windows環境で、Gitで管理・共有しています。
ソフトはTourtoise Gitを使ています。
おそらく、割と一般的な構成なのかな?と思っています。

分業ではなく、ほとんど単独で開発して、結合するとかなので、私がコードレビューしたり、過去の履歴で戻せるように(テスト以外で戻したことないえすが・・)なので少し環境違いますが、参考までに。

私は以下のサイトで基本的なことを手動かしながら確認しました。
・サルでもわかるGit入門
http://www.backlog.jp/git-guide/

walkmane99さんも書かれていますが、なにを使うにしてもあとから追えるログを記入します。

  • 作業内容
  • versionなどの管理番号
  • 日時
などが残すルールにしています。それ以外の記入内容は自由です。
ルールは必ず決めて、守るように運用しましょう。(守れるルールということ)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

最初からGitだとマージとか難しいので、最初はSVNを使ってみて置いて
分かったら、Gitを使うというのもありかと思います。

あと、Mercurialも分散リポジトリですが、https://bitbucket.org/を使うと無料でプライベートなリポジトリが作れるので練習には良いかもしれません。



投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

Git(BitBucket)+SourceTreeを利用しています。
理由はSourceTreeがWindowsとMacで殆ど差異なく利用でき、
ソースコード、コミットログが確認しやすい、それと
SourceTreeのデザインがおしゃれな感じだからです。
TourtoiseSVNも利用していますが、Windows感のある硬い感じが少し苦手で、、、。
自分のモチベーションが上がる直感的なものを探していたらこうなりました。

Bitbucket
SourceTree

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

Git をおすすめします。

SourceTree ( http://www.sourcetreeapp.com/ )
を利用して、Mac や Windowsで同じ感覚でバージョン管理を行えます。

GitHubなどのサービスもある為、Gitの操作を覚えておくとオープンソースの開発に参加する事もできます。
そこで、個人的にスキルアップする事も出来ます。

Gitの機能を利用して複数の開発を同時並行で進めることが出来ます。

注意するべきポイントは、ルールを決めて開発履歴を綺麗に保つことです。





投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

みなさんGit推しなのでGitについて.

codebreak;を使うと無料で非公開機能が使えます.

コマンドラインでの使用に抵抗があるようですが,コマンドラインのメリットもあります.
"Git デザイナ"とかでググるとわかりやすい解説サイトがけっこう見つかると思います.
disc_7さんの書かれている「サルでもわかる」もわかりやすいです.

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

全員未経験者で、デザイナーさんもいることを考えると、 TFS や Subversion の集中型も手だと思います。基本的に Git のような分散型よりも簡単です。
ちなみに TFS は "Microsoft Visual SourceSafe" の後継です。


また、分散型だとファイルのロックができないので、 マージできないバイナリーや XML ファイルを管理するために結局集中型と連携が必要がなることもあります。
最初に背伸びしすぎると痛い目をみる危険性もあります。集中型で初めておいて、必要性を感じたら、分散型に移行するというようにしてはどうでしょうか。

Windows での開発のみということであれば、お勧めは TFS です。公式に Git との連携もサポートしています。
フリーがいいということであれば、 Subversion です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • PHP

    24523questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • バージョン管理

    32questions

    バージョン管理はコンピューター上にファイルとして格納されているドキュメント・プログラム・その他の情報の変更履歴等を管理するものです