単独で、または小さなプロジェクトで作業するときに、何らかの種類のバージョン管理を使用していますか?


30

非常に多くの場合、私は自分だけの小さなプロジェクトに取り組んでいます。私は1台のマシンで作業していますが、最近、何らかのバージョン管理を使用することを考えました。これには、たとえば次のような利点があります。

  • ローカルバックアップを気にする必要はもうありません
  • 間違いは簡単に元に戻すことができます
  • 履歴を維持できます

しかし一方で、たとえば次のような欠点もあります。

  • 追加のリソースが必要
  • 設定する時間、慣れる時間など

あなたの経験から、一人で作業するときにリビジョン管理を使用するのは良いことですか?


私の2セント:私はMercurialとNetBeansを使用しており、私が使用するVCSの最も重要な部分(Mercurial)は、変更を行い、変更を確認し、それらをクリア(コミット)(一度にファイルまたはプロジェクト全体)できることです暇なときに。(NetBeansには、Mercurialで動作するグラフィカルな差分があります)これは、私がやったことを把握するのに役立ちます。当社には異なる歴史とバックアップシステムがありますので、私は通常その目的のためにそれを使用しません。
ブライアンフィールド

回答:


46

はい。

それが取るすべては単一の間違いであり、あなたはそれのために自分を蹴るでしょう。また、使用するバージョン管理システム(VCS)を選択することもできます将来開発チームで働く可能性がある場合は、VCSを実際に体験する絶好の機会です。SVNとGit(またはMercurial)は出発点として最適であり、各VCSの基本的なコマンドを理解するのに数時間しかかかりません。

さて、マイナス点を明らかにするために...

1)追加のリソースが必要

唯一必要なリソースは、ディスクスペースです。これはコード全体のわずかな割合(GitではXよりも小さい)であるため、これが問題になるとは思いません。お金もかかりません。

2)セットアップ、慣れるまでの時間など

それを学ぶのに必要な時間はありますが、これらのそれぞれについてほんの数時間です(上記のように)。長期的には、無限の時間(およびそれ以上)を節約できる可能性があります。VCSの基本を習得すると、念頭に置いてローカルバックアップを実行するよりもはるかに簡単になります。


5
+1:非常に良い点。ただし、私はsvnをお勧めしません。インターネットに接続していないときに変更をコミットすることはできません。これは、時には強い制約になる可能性があります。Git(パワーユーザー向け)またはMercurial(よりシンプルなシステム向け)をお勧めします。
エリックOレビゴット

7
Mercurialへのもう1つの投票。
クリスホームズ

4
@EOL、この場合、SubVersionは実行可能です。リポジトリがローカルの場合、コミットするためにインターネット接続は必要ありません。(リポジトリは少なくとも開発ドライブとは別のドライブ上にある必要があることをお勧めしますが。)
ケンヘンダーソン

1
@EOL:ああ、はい、Mercurialを含めるのを忘れました。今すぐ編集します。(Gitを使用した後)必要に応じてSVNに触れることはありませんが、SVNはまだ広く使用されています。
ジョナサンクー

1
ドロップボックス内のローカルリポジトリと@ken SVNは、単一のユーザのために理想的である
マーティンベケット

13

はい。すべてに使用します。Wordで作成するすべてのドキュメントに使用します。作成するすべてのコードに使用します。作成するすべての画像に使用します。

また、使用方法を学べば、チーム環境で作業するときのほうが良いでしょう。


4
Wordの唯一の問題は、Wordがバイナリ形式であるため、diff;を実行できないことです。LaTeXを使用するもう1つの理由。
ガブリン

それを画像で使用する意味は何ですか?
ルーク

例えば、WinMergeはWordとExcelのドキュメントを比較できます
Simon

2
@Rook:画像でそれを使用するポイントは、画像を編集する場合、必要に応じていつでも古いバージョンに戻ることができるということです。
アレックスD 14

9

一人で作業するときはGitを使うのが大好きです。たとえば、PHPで作業する場合、Apacheがサービスを提供するローカルディレクトリにGitリポジトリを作成するだけです。新しい機能(ブランチ内)の作業を簡単に開始し、ローカルマシンでテストできます。その後、何かが発生し、「緊急修正」を行う必要がある場合、次のように簡単です。

git checkout master

出来上がり!作業ディレクトリは、ブランチ前の状態に戻りました。簡単に修正できます。完了したら、ブランチに戻って開発を続けることができます。

学習曲線はそれほど急ではなく、始めるのに役立つ多くの情報がオンラインにあります。それを掘ります。価値がある。


GitとGitHubまたはGistは、ソロプロジェクトに努力する価値があります。彼らはあなたをあなた自身から守り、他の人が参加する準備ができたときに本当に簡単に助けを得ることができます。
ロブ・アレン

5

変更ログは、ソースを乱雑にすることなく、変更を文書化するのに適した場所を提供します。


2

SourceRepoのようなホストされているものを探します。それほど高価ではありませんが、ソース管理を使用すると、間違いを元に戻したり、コードを元に戻すのがずっと簡単になります。

必要に応じてどこからでもアクセスできます。


4
会社の財産を外部サーバーにアップロードする場合は注意が必要です。一部の企業では問題ないかもしれませんが、他の企業はそれを嫌っています。
-davidhaskins

1
気をつけるべき良い点。サブミッターは自分でプロジェクトを言ったので、私はそれが個人的な使用であると思いましたが、ラインマネージャーがあなたが行くことに決めたシステムを確実に認識していることを確認してください(特にクラウド恐怖症の場合)。
ジェームズラブ

2

他のことにも使用できることに気付くまで、私は常に開発にgitを使用していました。gitを試してください。サーバーと常時接続を必要とせずに、実際のリポジトリを提供します(これは私にとって大きなプラスです)。プロジェクトのサブディレクトリが隠しファイルやフォルダで広がることはありません。代わりに、プロジェクトの上部にあるフォルダは1つだけです。あなたはそれをすべて投げて、あなたが望むものをクローンし、それらを再びマージすることができます。


2

クローズドソースの無料サポートをお探しの場合は、Visual Studio Onlineをご覧ください。最大5人の開発者が無料で、1人で...ええと...ええ。これは4年後の投稿なので、状況はおそらく変わっていますが、簡単なソース管理を探している他の個々の開発者にとっては、ソースコードを公開したくない場合、VSOは私のお気に入りの選択肢の1つです。IIRC Githubはオープンソースのもののみ無料ですが、価格は非常に安価です。VSOとGithubの両方がVisual Studioと非常によく統合されます(もしそれがあなたのIDEである場合)。


また、VSOはGitをサポートしています!さよなら不器用な古いTFVC!
ラバーダック

1

私は常に自分のプロジェクトのソース管理を設定し、継続的な統合環境を使用して、チェックインするたびに単体テスト/統合チェックを実行します。さらに、WebアプリまたはWindowsサービスの場合はターゲットを展開します同様に。私はこの方法を使用してデバッグと展開を数え切れないほど行っており、最初のセットアップと比較しても何もありません。


1

リポジトリについて本当に素晴らしいもう1つの機能は、別のブランチで非常に危険な実験/機能を実行できることです。うまくいけば、メインコードの一部としてマージできます。そうでない場合、または時間切れになった場合、それを放棄(保存)し、メインコードベースを台無しにせずに後で戻るオプションを使用してメインコードに切り替えることができます。

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