web-dev-qa-db-ja.com

独立した開発者のためのバージョン管理?

あなたが独立した開発者である場合、バージョン管理を使用することは価値があると思いますか?そうであれば、なぜですか?リポジトリを自分のコンピューターまたは他の場所に保管していますか?

60
vedosity

分散型ソース管理(Mercurial、Git、Bazaarなど)を使用すると、SVN/CVSに勝る利点が得られ、インディの場合に簡単、便利、強力に使用できます。

  1. ローカルでコミット:プロジェクトディレクトリは完全な履歴を持つリポジトリです。したがって、サーバーは必要ありません。リポジトリに直接コミットします。同じコンピューターに複数のリポジトリを置くことができます。時々開いているラップトップを使用して作業を続けますか?すごい!サーバーをセットアップする必要はありません。後で必要になった場合は簡単で、リポジトリ間で変更を「プッシュ」および「プル」するだけです。
  2. 実験を容易にするために作られています:多くの場合、コードを汚染することなく、機能についてのアイデアを持つ必要があります。 SVNとCVSを使用すると、ブランチシステムを使用して、機能が希望どおりに機能しない場合はブランチを破棄できます。ただし、機能をトランクバージョンとマージする場合は、驚きを修正するのが非常に困難になります。 (少なくとも)Git、Mercurial、Bazaarはマージとブランチを本当に簡単にします。リポジトリを複製してしばらく作業し、コミットして終了することも、必要に応じてメインリポジトリに変更をプッシュすることもできます。
  3. 組織の柔軟性:前に指摘したように、必要に応じて組織化するレポがあるので、一人で始めて、組織を変更することで他の人があなたと一緒に作業することを簡単にできます。組織化は義務付けられていないので、あなたはそれを設定し、ボイラするだけです。私はしばしば自分のコンピューター(ラップトップ/デスクトップ/サーバー)間で変更をプッシュ/プルするだけであり、私は自分の開発者で一人です。私はMercurialを使用していて、私の作業を複製するのに役立ちますが、ラップトップの外で考えた機能にも取り組み、その後、デスクトップの他の機能に取り組み、デスクトップまたはサーバーにラップトップの変更をプッシュし、デスクトップ全体をマージします+ラップトップを(バックアップおよび将来のチームワークリポジトリとして)サーバーに配置します。
  4. バックアップのセットアップに役立ちます:セントラルレポをセットアップする場合(パブリックの場合はGitHubに、またはBitBucketのプライベートレポに)、コンピューターが起動するたびに実行されるスクリプトを簡単に作成できます、それからあなたの友人に上記のスクリプトを渡し、定期的にあなたの仕事の自動バックアップを作成します。それは私がやっていることなので、今では仕事を失うのは簡単ではないでしょう。

実際、現在、プロジェクトでソース管理ツールを使用しない理由はありません。以前よりも強力で柔軟性があり、ニーズに合わせて拡張できるためです。

61
Klaim

誰もが知っているように、ソースコード管理は独立した開発者にはまったく役に立ちません。

  • 独立した開発者は間違いを犯しません
  • 独立した開発者は、うまくいかなかった修正を決してしません
  • 独立した開発者は複数のバージョンを決して持っていないため、ブランチを使用していません
  • 独立した開発者は、彼らが昨日または先週変更したことを気にすることはありません
  • 独立した開発者は決してバックアップを必要としません

「依存する開発者」と呼んでください。Mercurialリポジトリは、デスクトップ、ラップトップ、USBバックアップドライブ、およびbitbucket.org間で簡単に複製できます。私は依存症になりました、そして私はそれがそのように好きです!

34
Steven A. Lowe

なぜしないのですか?

私は一人の開発者で、個人的なプロジェクトにはBitBucketとMercurialを使用しています。コードを元に戻したりフォークしたりする機能は、成功するには余りにも優れています。

21
Terence Ponce

個人的にはそれに価値を見いだしています。私のプロジェクトはすべてgitリポジトリにチェックインされています(ハードウェア障害が発生した場合に備えてすべてを複数のマシンで維持しています)。最も便利な機能は、分岐(コードベースの半分を台無しにする実験を実行でき、何も永久に爆破する心配がない)と元に戻す(基本的にはステロイドを元に戻すだけです。通常の取り消し範囲外の間違い)。

1
Inaimathi

はい。とても便利です。私の友人 Matt Gallagher 投稿 この優れた記事 この件について、数日前に彼の "Cocoa With Love" iOS/MacOS開発ブログに投稿しました。

この記事はMacとGitを中心に扱っていますが、基本事項について説明しています。

また、次のStackExchangeの質問(およびその回答)にも興味がある可能性があります。

1
orj

Worth ?? Must!ソース管理を使用しない場合、ソースを管理できません。これは悪いことです。元に戻すこともできず、変更を追跡することもできません。入力したダミーのバグを見つけるために何時間も費やします。バックアップされたサーバーで使用することをお勧めしますが、コンピュータを使用して、適切と思われるバックアップ方法を使用することもできます。

1
Assimiz

絶対にソース管理を使用してください。次に、ビルドサーバーをセットアップし、ビルドおよびテストプロセスを自動化します。トリガーは、中央リポジトリのソースコミットからビルドします。私はこのようにして3年間自分で仕事をしてきました。

1
Dave Neeley

はい。

単一の開発者であっても、過去のリビジョンのコードの状態を確認する必要がある場合があります。そして、重要なものすべてをバックアップすることは常に良い考えであり、それはすべての人に当てはまります。

0
whatsisname