ソース管理なしで複数の人でアプリケーションを開発する最も効果的/効率的な方法は何ですか?


13

私の状況の紹介

私は小さなWeb開発会社で働いています。私を含む4人のASP.NET開発者のチームがあります。ほぼすべてのプロジェクト(98%以上)は1人のプロジェクトで、完了までに1〜4週間かかります。ソースまたはバージョン管理は使用しません。唯一のものは、すべてのプロジェクトの最新のソース(==ライブアプリケーションのソース)を含むローカルサーバー上の共有フォルダーです。

まれに、同じプロジェクトで複数の人と作業する必要がある場合は、... Beyond Compareを使用します。1日に1、2回、開発者はお互いにコンパイルするバージョンがあるかどうかを尋ね、Beyond Compareを使用してコードを同期します。2人しかプロジェクトに取り組んでいない場合、これは「かなりうまく」機能しますが、3人目の開発者がプロ​​セスに入るとすぐに、管理不能なゴミになります。特に誰もがデータベースに変更を加え始めたとき。

私(および仲間の開発者の1人または2人)は、上司にGit、Mercurial、TFSなどの何らかの形式のソースおよびバージョン管理の使用を開始するように何度も言っています(私たちの上司は非常にマイクロソフトです)。残念なことに、上司はソースとバージョン管理システムに切り替えるメリットを認識していません。なぜなら、彼の目ではすべてがうまく動作し、新しいシステムのセットアップと全員の確認に時間とお金を費やしたくないからです。使い方を知っています。利点(コラボレーションの簡素化、アプリケーションのさまざまなバージョン、コードを変更するより安全な方法など)を彼に説明した後でも、彼はそれが必要だとは考えていません。

4人の開発者のうち、2人(私を含む)のみがソース管理(Git)の経験があります。そして、その経験は非常に限られています。Githubリポジトリーをコンピューターにクローンし、いくつかの変更を加え、コミットしてGithubにプッシュする方法を知っています。それでおしまい。

問題/懸念の説明

数週間以内に、私たちの標準のためのかなり大きなプロジェクトに取り組み始めます。おそらく、2〜3人の開発者がそれを完了するのに数か月かかります。私はプロジェクトリーダー(プロジェクトマネージャーおよびリードデベロッパー)になり、すべての責任を負います。Beyond Compareアプローチには問題がありますが、私の責任となるこの大きなプロジェクトでこの道を歩きたくありません。

私たちができることを疑うので

  • 独自のGitサーバーをセットアップし、
  • みんなにGitを使って作業することを教え、
  • この大きなプロジェクトでGitをうまく活用し、

複数の人がソースやバージョン管理を使用せずに同じプロジェクトで共同作業できるようにする良い方法を知っている人がいるなら興味があります。

更新

皆の回答とコメントに感謝します。計画は次のとおりです。

  1. 開発者とミーティングを行い、すべての技術者がソース管理の実装について同じように感じるようにします。誰もが背後にいる場合、私たちはより強力なポイントを作ります。
  2. アイデアを上司に提示し、ソース管理が本当に必要であることを彼に伝えます。
  3. できるだけ早く実装してください。

8
なぜ独自のgitサーバーをセットアップするのですか?大きなプロジェクトの場合は、GitHubアカウントを取得してください。約5分かかります:)会社全体が最近、新しいインフラストラクチャなしでSVNからGitおよびGitHubに移行しました。
-Fresskoma

34
IMOは、ソース管理なしで大規模(または中規模、または小規模)プロジェクトを行うことは、今日の世界では狂気です。私は実際にこれを専門外と呼びます(誰かがあなたの仕事をきちんと行うために報酬を受け取っている場合)
マッケ

10
私とファイル内の1行だけで、リビジョン管理がない場合、私はぴくぴくします。
dietbuddha

4
バージョン管理に直接関係する他のすべての回答とコメントに加えて、「何かがひどく間違っていないので問題はないはずだ」という上司の見方は、ビジネスにおいて持つべき恐ろしい態度です。
ミシェルティリー

4
「ソース管理を開始して実行するのに十分な数週間ですか?」と自問するだけでなく、「プロのWeb開発スタジオで別の仕事を見つけるのに十分な数週間ですか?」
Carson63000

回答:


53

バージョン管理をインストールし、プロジェクトの全員にそれを使用するように教えるのに1日かかります。そんなに難しくありません。個人的にはGitを使用したことはありませんが、他のバージョン管理システムをセットアップして使用しているため、動作するのはそれほど難しくありません。開発環境と統合するものを選択してください。これにより、実質的にシームレスに使用できます。

これは無駄な時間ではありません。

誰かが一部のコードを上書きまたは削除したとき失われる時間は、はるかにコストがかかります。

バージョン管理がない場合は、プロジェクトのバックアップに膨大な時間を費やし、誰がどのバージョンを持っているか、どのバージョンがサーバー上にあるかなどを心配します。

上司を説得する必要がある場合は、非バージョン管理ソリューションをセットアップして監視するのにかかる時間を見積もって、数日間の作業の損失を書き直してください。同じソースファイルで作業している3人の開発者からの編集を手動でマージするコストと、マージを間違えるための追加コストを追加することを忘れないでください。優れたバージョン管理により、これが無料で提供されます

次に、それをバージョン管理の取得コスト(nil(オープンソースに移行する場合)およびセットアップのコスト)と比較します(3人日)。

プロジェクトの後半でエラーが発生すると、早い段階でエラーが発生することを忘れないでください。誰でも間違いを犯してプロジェクト全体をやり直す必要がある場合、書き直し時間よりもはるかにコストがかかります。上司に会社の評判を傷つける可能性があります。


7
+1タイトルの質問に対する答えは、ソース管理の使用開始することです。Programmers.SEとStack Overflowをご覧ください。証拠は、これがシナリオでできる最善のことだという議論を強く支持しています。
ミシェルティリー

2
@Kristof-こことSOのいくつかの質問に彼を向けてください。
ChrisF

22
@Kristof Claes:もし私があなただったら、仕事を辞めました。真剣に。SCMなし->さようなら。悪質な人食い部族に囲まれた暗闇の中で指ペイント、で、洞窟の壁に大きな建物を計画する建築家のようなその...
fresskoma

10
@Kristofしかし、それ壊れています。あなたはあなたの質問で、アプローチの「問題のあなたの分担」を持っていることを認めました。そして、起こりそうな潜在的な災害は言うまでもありません。また、プロジェクトの責任者であれば、仕事を成し遂げるために必要だと思う基準を設定することができます。上司がこれらの点に同意しない場合...まあ、あなたにとって最善の行動方針はわかりませんが、私の意見があるチーム(特にこのようなチームで働くことはありません影響は深刻であり、コミュニティ全体は同意します)は無視されます。
ミシェルティリー

10
バージョン管理とバグトラッカーは、ズボンを着用するのと同等のソフトウェア開発です。
ティムウィリスクロフト

27

フォルダーでソースを共有する場合、そこにリポジトリも共有できます。上司は、そこに.gitフォルダーがあることを除いて、それについて知りません。

適切に仕事をするために許可を求める必要はありません-セス・ゴディン。


3
引用の場合のみ+1。私はそれを正しく行うことは、我々は契約の一部であり、私の仕事をするために支払っています両方の我々は契約を結んだ際に同意しました。
マチューM.

4
何の正当な理由がないではないソースコントロールを使用すると、すべての理由にするそれを使用するには。
フランクシェラー

2
同僚が気付かないうちにgitを使用することもできます。
アルマン

1
@アリソン:はい。私がチームの他のメンバーの1人であったとしても、マージヘルを避けてローカルロールバックオプションを使用するためだけに、コンピューターでgitを使用します。
マッケ

2
@Mackeうん、遅かれ早かれ誰かがあなたがマージにそんなに悪い時間がないことに気づき、彼らもそれを使いたいと思うだろう:)
アーマン

7

ソース管理を設定し、その使用方法を学び、上司に伝えないでください。私は通常、管理に反することを主張しませんが、この場合、あなたの上司は愚かです。gitの学習に時間がかかりすぎると思われる場合は、svnのようなより単純化されたバージョン管理システムから始めてください。gitが行うすべてのクールなことを行うわけではありませんが、基本的な理解はさらに簡単です。

何かを実装する前に、その真っinto中にいて真剣に問題が発生するまで待ってはいけません。それをして、仕事を終わらせてください。

追加して編集:あなたの質問は本当に「ソース管理システムを使用せずにソース管理を行うには」です。あなたはその必要性を認識しており、ここの誰もが本当にあなたに同じことを言っていると思います。ソース管理システムなしでソース管理を行うための正気な方法はありません。


4
個人的には、ソースコード管理を使用していない(そして数年前に提供された)会社に就職するつもりはありませんでした。あなたがそこにいて滞在したいなら、gitをインストールし、上司に言わないでください。彼は決して気付かないでしょう。
ザカリーK

5

あなたの要約だけがありますが、それからあなたの上司は時間とお金の議論をしているように見え、あなたは技術的な優位性の議論をしているようです。時間とお金の議論をする必要があります。物事のgit方法を学び、それが節約できる時間を追跡し、「3/28/2011はJoeがコンパイル可能なビルドに戻るまで30分待たなければならなかった」などのエントリで上司にログを提示しますマージを実行できたので、最後のコミットに対するgit mergeコマンドは約5秒でした」と、合計が一番下になります。

サーバーのトレーニングとセットアップがビジネスの障害である場合、実際にgitを使用するチームメンバーが1人だけで、「サーバー」の共有フォルダーを使用してgitワークフローをセットアップする方法は無数にあります。

共有するのに適した場所にあるときはいつでも、指定した共有フォルダーにコードをコピーするよう同僚に指示します。それぞれのリポジトリを保持し、すべてのソース管理を自分で行い、トレーニングに自信が持てるようになったら徐々にソース管理の責任を移していくことができます。これは理想的な方法とはほど遠いですが、現在の方法と比較すると、それでもマージの時間を節約できます。少ないチーム学習曲線で上司を説得する方が簡単で、必要なロールバックとバージョン管理のメリットをすべて得ることができます。

データベースの処理はあまりしていませんが、私の知る限り、データベーススキーマの変更のマージはソース管理ではあまりうまく処理されません。これらのマージが困難な場合は、データベースのすべての変更が単一のゲートキーパーを通過するプロセス変更を検討する必要があります。


3

これは非常識です。自分で作業する場合でも、VCSを使用する必要があります。会社でVCSを使用しないことは禁止されるべきです。早くやれよ。たった今!本当に...最初から高度なものは必要ありません。GitHubとGitLabは非常に簡単に使用できますが、上司が主張すれば(WindowsでGitをセットアップして使用するのは難しくありませんが)、Windows互換のホスティングサービスを見つけることができると確信しています。


1
答えの最初の3つの単語は、完全な答えでなければなりません。
gnasher729

2

あなたが思うことは不可能です。複数の人がソース管理を使用せずに同じプロジェクトで作業している場合、すぐに多くの問題が発生します。そして、あなたがリード開発者になるため、それらに対処する必要があります。

私の個人的な経験から、ソース管理なしでプロジェクトに取り組むことは2人の開発者から不可能になります。3つではありません。4つではありません。二。例外的な状況で2人の開発者と状況を管理できる可能性があります:それらの開発者が非常に組織的で専門的である場合、彼らがうまくやり取りする場合、彼らが簡単に交換できる場合(したがって、同じ部屋に同じ時間に配置され、時間)および人的エラーを回避できる場合(同時に他の人によって変更されたファイルを誤って変更し、この人によって行われた変更を消去する)。

私の場合、バージョン管理のないプロジェクトに2人の人間を参加させることになると、常に大惨事でした。最良のケースでは、1人が変更されたファイルを2番目のファイルに送信し、この2人目は差分ツールを使用して変更を手動で適用しました。最悪の場合、1人が行っていた変更を追跡し、2人目がソースコードを変更するたびにそれらを再適用しました。結果:時間、お金、生産性の大きな損失。

今、私の観点と私自身の経験から、あなたが抱えている問題に対する3つの解決策を見ています。

  • 使いやすいバージョン管理をインストールします。CollabNetSubversionをSVNサーバーとしてインストールしていましたが、セキュリティがまったく気にならない場合、セットアップは非常に高速で簡単です。Visual Studioを使用する場合、開発者がVisual Studio内からソースコードを簡単に更新/コミットできるように、AnkhSvnをインストールできます。

  • 上司に、Joelテストは自分の仕事をよく知っている人によって書かれていることを納得させてください。Joelテストがバージョン管理を提案している場合、その背後には正当な理由があります。結局のところ、彼は開発者がコードを書くためにIDE /構文強調ツールを必要としないことも決定できます。Windowsのメモ帳は大丈夫ですね。また、なぜインターネットにアクセスできるのですか?必要なのは、Windows 3.1を実行している非常に古いPCだけです。

  • バージョン管理を除くすべてが完璧でプロフェッショナルなものであることに疑問があるので、この会社を辞めます。


確かに不可能ではありません。ソース管理が一般的になる前に、ソフトウェアはどのように開発されたと思いますか?
GrandmasterB

Joelテストを明示的に参照するかどうかは定かではありません。これには、このタイプのマネージャーがピンココミーの奇妙なものとして却下するプライベートオフィスのようなものが含まれているからです。
JohnMcG

2

大きなプロジェクトにVCSを使用しないのは、セットアップに時間をかけたくないからです。靴を履く時間に投資したくないので、裸足で長い旅をするようなものです。

VCSは、まったく存在しないよりも桁違いに優れています。

VCSをセットアップする非常に簡単な方法は、TortoiseSVNを取得することです(C#を使用しているように見えるので、Windowsを使用していると仮定します)。選択したローカルフォルダーにリポジトリを作成します(ナビゲートし、右クリック> TortoiseSVN>ここにリポジトリを作成)。ネットワーク内でこのフォルダーを共有し(できれば常に使用可能なマシン上にある必要があります)、urlでチェックアウトしfile://computername/path/to/that/repositoryます。ダウンロードは除外されます。これには、セットアップに1分もかかりません。


1

あなたの答えはあなたの上司への簡単なリンクです...このページを彼/彼女にメールし、専門家から「やめる」という言葉が現れる回数を強調してください。

「ダム」という言葉はおそらく何度も登場しますが、私はあなたの上司がそうではないことを確信しています。彼にとってこれの絶対的な価値は明らかではありません。彼に尋ねる質問は、どのビジネス関連の質問が同じ応答をもたらすかです(おそらく、「この建物にあなたが最大限に保たれていることをこの建物に保証しないでください。数ドル節約できます!」)


1

ソース管理は、プロジェクトの開発者の数が0を超える場合にのみ必要です。継続的インテグレーションについても同じことが言えると思い始めています...

(-:

ASP.NET開発者として、Subversion、TFS、またはMercurialのいずれかを使用することをお勧めしますが、正直に言うと、何かを使用する限り、どちらでもかまいません。バージョン管理なしで開発することはまったく意味がありません。ツールが多少自由に展開でき、それらを使用するためのオーバーヘッドが最小限である場合は、さらに少なくなります。

TFSは、驚くほどのレベルの統合を提供します。DVCS(mercurialまたはgit)は、おそらく最も柔軟性と機能を提供します。これをしない理由はありません。

私がゼロから始めた場合、ほぼ確実にMercurialを使用することになります。

バージョン管理ができたら、ビルドサーバー(TFS、TeamCity)に進み、そこから継続的な統合に進み、その時点で拳を握り始めることができます。

出発点に戻るには:

私はプロジェクトリーダー(プロジェクトマネージャーおよびリードデベロッパー)になり、すべての責任を負います

ので、右、あなたは責任がありますあなたはあなたが(あなたが行うので)、バージョン管理を必要と決めるあなたは(あなたが行うため)ビルドサーバを必要とすることを決定し、あなたはあなたが非常に最初の日から、あなたのプロジェクトから展開可能な出力を持っている必要がありますことを決定します(常に展開できるため、より多くのテストが容易になるため)、展開は高度に自動化されるため、これらはプロジェクトの成功を保証するために実行している手順です(担当する...)


0

上記のように、すでに持っている共有フォルダーにリポジトリを置くことができます。Git、Mercurial、Bazaarなどの分散ソース管理システムを使用する場合、サーバーの構成に時間を費やす必要はありません。

既にGitを使用したことがあるため、Gitを使用するか、Visual Studioとの統合が良好なMercurialを使用することをお勧めします。

将来、上司からTFSに切り替えるように指示された場合は、バージョン管理をまったく行わないことをお勧めします。


0

私のPowerbuilder時代には、チーム全体がソース管理を使用せずに一連のアプリケーションに取り組んでいました。ああ、Powerbuilderにソース管理がありましたが、実際にそれを使用することはがらくたでした-ファイルをチェックアウトしているときにPBがクラッシュすると(そしてLOTがクラッシュします)、その独自のバイナリソースコードファイルにアクセスできなくなりました。ファイルにいくつかのフラグが設定され、それをチェックアウトした同じ人であっても、PBの他のコピーはそれをロードできませんでした。

だから私たちがしたことはとても簡単でした。「ねえ、トム、私はxyz.pblに取り組むつもりです。変更を加えないでください。」物事の壮大な計画では、私たちはほとんど問題を抱えていませんでした。


0

チームがバージョン管理を採用することを納得させることができない、または上司が策略の風に乗って、チームが停止することを主張することができないと仮定すると、あなたは取ることができる最適ではないアプローチがあります。

GitまたはMercurialを自分のマシンにインストールします。自分の作品をバージョン管理してください。チームが比較プロセスを介して作業を同期したら、ローカルリポジトリに新しいコミットとして変更を追加します。チームの同期で何かが壊れた場合、ローカルリポジトリから以前の作業バージョンをいつでも取得できます。

DVCSを使用すると、サーバーを用意する必要がなく、複雑なセットアッププロセスも必要ありません。Mercurialをインストールし、基本を使用して起動して実行するのにかかる時間は約30分です。

これは理想的な解決策ではありませんが、何もしないよりはましです。


0

これに対する私の最初の反応は、バージョン管理のない理想的な作業プロセスがすでにあるということです。あなたはすべて、マージなどを管理する良い方法を持っているようです。管理の観点からは、これは一見良い状況です。バージョン管理を使用するチームに会ったことがありますが、開発プロセス自体と格闘する必要があります。

そのため、そのバージョン管理に基づいて単に上司に説得しても、「より良いプロセス」を生み出すことは無意味です。ただし、そもそもバージョン管理またはソース管理を使用する必要がある理由については、別のはるかに重要な議論があります。そしてそれは:

危険

問題は、ソース管理を使用して開発プロセスを改善することではありません。ソース管理がまったくない場合、どうなるかは問題です。リスクは何ですか?

誰かがコード内の関数またはファイル全体を誤って削除するとしますか?修理にはどれくらいの費用がかかりますか?うまくいけば誰かがそれをカバーしてくれるので、修正はわずかです。

しかし、失われたファイルのバックアップを誰も持っていない場合はどうなりますか?修正にどれくらいの工数がかかりますか?それは多分数日かかるだろうし、それは工数の平均で簡単に計算される。それは会社にとって多すぎるでしょうか?これはどういうわけかより早く修正できますか?

はい、ある種のソース管理があります。対照的に、バージョン管理を設定してバックアップするにはどれくらい時間がかかりますか?gitやmercurialなどのほとんどのオープンソースは、セットアップにそれほど時間をかけません。Beyond Compareとのマージ方法を既に知っていて、共有フォルダに「チェックイン」することを考えると、使用方法を教えることはそれほど難しくありません。これは、1回限りのセットアップコストです。これらの工数はリスクの工数よりも少ないでしょうか?これが当てはまる場合は、ソース管理の使用を優先する必要があります。

ソース管理が有益であるビジネス上の理由を示すことができ、リスク管理がそのような巨大な要因の1つであり、ほとんどのボスを納得させます。


0

gitなどの分散バージョン管理システムを使用し、共有フォルダーマシンを使用して参照リポジトリを保存します。その理由は次のとおりです。

各クローンはバックアップです

サーバーのハードドライブがクラッシュした場合、全員がコピーを取得し、新しいドライブまたはサーバーに展開する準備ができます。あなたの会社はバージョン管理について真剣ではないので、バックアップについてもほとんど同じだと思います。

共通のリファレンス

マスターブランチのあるメインリポジトリを使用すると、最後の単語があるバージョンを知ることができます。これにより、「あなたはフランクのバージョンに対して変更をテストしましたが、ジョンのバージョンも持っていましたか?それをどのようにマージしましたか?」を解決します。

より快適に配信

顧客は今日アルファ版を望んでいますか?マスターが十分に安定しているかどうかをテストして、それを出荷できます。そうでなく、修正する時間がない場合は、時間をさかのぼって、古いがより安定したバージョンを入手してください。最新バージョンしか持っていない場合はできません。

過去に戻って間違いを修正する

手動マージには、数日後にしか見られない問題がありましたが、共有フォルダーの内容はすでに上書きされていますか?VSCがないと履歴がないため、犯した間違いを確認して修正できるポイントに簡単に戻ることはできません。コードは写真のようなものではなく、映画のようなものです。時間とともに進化します。ムービーから画像を抽出できます。写真からムービーを抽出することはできません。

バグをより簡単に見つける

バグが発生しましたが、導入時には気が付かなかったため、コードが「ホット」である間は修正できませんでした。今では、どの変更がそれを導入したのか本当にわからないので、コードのいくつかの異なる場所から来る可能性があります。探す場所を見つけるのに何時間もかかります。gitを使用git bissectすると、特定のバージョンでバグが発生したかどうかを確認するテストを開発し、バグを導入した正確なコミットを見つけることができます。数千行のコードを探す代わりに、10行の変更にあることがわかります。テストスイートにテストを保持して、バグが再び発生しないようにすることができます。

各開発者は自分の仕事に責任を負います

あなたがチームリーダーであり、VCSがない場合、ほとんどの場合、汚い作業、マージを行う必要があります。自分でそれを行う場合、おそらくすべての変更についてすべてを知っているわけではなく、エラーが発生する可能性があります。逆に、マージするコードがあるたびにコードを書いた人にいつもあなたと一緒に集まるように頼むなら、それは彼らが新しいコードを作るのに使わない時です。

VCSを使用すると、シンプルなワークフローで、開発者は自分の作業と、変更の外部ソースの1つであるmasterブランチのみを処理するだけで済みます。masterブランチには、1人または100人がコミットしている可能性がありますが、それは同じです。自分の変更をプッシュできるようにするには、他の人が行った最新の変更にそれらを適応させる必要があります。コードをプッシュするのに時間がかかるように思えるかもしれませんが、それは、とにかく時間がかかるはずのマージも実行しているためです。

違いは、変更を行った人によってマージが行われることです。変更を行った人は、コードを書いたのでそのコードを最もよく知っています。

誰がそのコードを書いたのですか?

ここにはそのバグがありますが、その特定のコード行を誰が書いたのでしょうか?特にプロジェクトが数ヶ月続く場合は、覚えにくいです。git blameその行が誰といつ書かれたのかを教えてくれるので、適切な人に尋ねることができます。

プロジェクトは大きくなっています

顧客はより多くの機能を望んでおり、あなたはチームが小さすぎるため、別の開発者が必要になります。VSCなしで増加したマージの複雑さをどのように管理しますか?

緊急の変更

顧客は本番用の重大なバグ修正を要求しましたが、現在、あなたは新しい機能に取り組んでいます。ただ、git stash脇変更内容を置くか、新しいブランチにそれらをコミットし、変更をプッシュして、あなたの保留中の作業を失うことを恐れることなく、緊急の修正で作業を開始する準備が整いました。

10分前に機能しました

ローカルでいくつかの変更を行っており、10分前に機能していたものが機能しなくなりました。VCSがなければ、コードをじっと見つめるか、せいぜい参照バージョンのコピーを作成して、変更内容を確認するだけです。ああ、作業を開始してから参照が変更されたので、もう差分はできません。そして、変更の基にしたコードの原始的なコピーを保持することは考えていませんでした。

VCSを使用すると、すぐに次のような操作を行うだけgit diffで、ベースとなる適切なバージョンのコードと比較して変更が加えられます。

デバッグログを保存する必要があります

あなたは悪者であり、ロギングを使用しないのですか?printfその厄介なバグのすべての部分を見つけるまで、すべてのコードベースにs を振りかける必要がありましたか?今、あなたはそれを見つけて修正しましたが、慎重に作成されたデバッグコードを残して残りの問題を修正したいと思います。

VCSを使用しない場合、ファイルをコピーし、デバッグコードを削除して(編集エラーを追加する可能性があります)、それをプッシュし、バックアップファイルを戻す必要があります。ああ、とにかくデバッグ用のコードが入っているようです。

gitのでは、あなただけのgit add --patch、あなたのコミットに入れたい数行のコードを選択し、コミットできるだけのことを。その後、作業を​​再開し、デバッグコードを保持します。コードを変更する必要がないため、コピー/貼り付けエラーはありません。

泥の大玉

VCSがなければ、人々は自分の側で働き、時には関係のない多くの変更を行います。チェックするコードが多すぎる場合、バグを見つけるのは困難です。

VCSを使用すると、小規模な増分変更を行い、変更ログを提供できます。変更ログは不可欠です。人々は、変更が何であるかではなく、なぜ変更を行っているの説明する必要があります(コードの変更自体によって、どの質問が既に回答されています)。これは、たとえば、新機能のコードを調べているときに、無関係なバグ修正など、無関係な混合変更をたくさん読む必要がないことを意味します。これにより、重要なコードに集中できます。

100個のジャガイモを1つずつ与えると、1つが腐っていると、すぐに見つかります。今、あなたの前に100個のジャガイモを投げ捨てて、腐ったものを見つけるように頼んだら、それは同じ仕事ではありません。

くぼみ

良いコーディングスタイルポリシーがあることを願っています。そうしないと、インデントを変更すると、手動でマージした場合に夢中になります。もちろん、変更では空白を無視できます(ただし、Pythonのようなインデントがカウントされる言語では許可されません)。しかし、そうすると奇妙なコードが読みにくくなります。

あなたはプロジェクトリーダーです

あなたがリーダーである場合、これは、物事がうまくいかない場合、あなたが責任を負うことを意味します。適切なツールを適切な仕事に使用する価値があると上司がまだ理解できないために状況に満足できない場合は、少なくとも、予測可能な失敗のリーダーになることは拒否します。


-6

Dropboxを使用すると、自動バージョン履歴があります。複数のユーザー間でdropbox-folderを共有できます。

編集

TortoiseSVN-clientをダウンロードして、ネットワークドライブに「ローカルリポジトリ」を作成することもできます。次に、ネットワークフォルダーの場所ごとにソースコードをチェックアウトできます。


1
しかし、マージ ??

さて、すべてのソースコードのローカルコピーを保持し、Winmergeを使用してDropboxフォルダーと時々マージすることができます。
-AareP

これを実際のプロジェクトで実際に試してみましたか?私には脆いようです

実際には、すべてのソースコードを一度にコンパイルする必要がないWebプロジェクトの場合、strboxをdropboxフォルダーに開発できます。
-AareP

2
他の人に勧める前に試してみるべきだと思います!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.