バージョン管理を始める
-
08-06-2019 - |
質問
自宅で行う開発だけでもバージョン管理を実装する必要があります。私はここ数年、Subversion がいかに優れているかについて読んでおり、Git が新進気鋭のバージョン管理システムであることを聞くまで、副業でこれを学ぶことに専念しようとしていたところです。
この状況を考えると、どちらがトップになるかは我慢して見るべきでしょうか?それらの相対的な利点は何ですか?
Git に関して私が気づいた問題の 1 つは、フル機能の GUI があまりないことであり、これは私のチームの多くのユーザーにとって重要です。
また、どちらかを始める方法についての提案も構いません。(チュートリアルなど)
解決
バージョン管理について最も重要なことは次のとおりです。
さっそく使い始めてみましょう
バージョン管理を使用しないのは恐ろしい考えです。バージョン管理を使用していない場合は、今すぐ読むのをやめて、使用を開始してください。
から変換するのは非常に簡単です
cvs<->svn<->git<->hg
どちらを選択しても問題ありません。最も使いやすいものを選択して、コードの履歴の記録を開始してください。後でいつでも別の (D)VCS に移行できます。
使いやすい GUI を探している場合は、以下を参照してください。 TortoiseSVN (Windows) そして バージョン (Mac) (によって提案されました コメントなしのコーディング)
編集:
Git にはいくつかの優れた機能がありますが、CVS や Subversion などのより標準的なものをすでに使用していないと、その機能を理解することはできません。
これ。バージョン管理で何ができるのかを知らなければ、git を使用しても意味がありません。
編集2:
reddit でこのリンクを見つけました。 Subversion チートシート. 。svn コマンド ラインの優れたクイック リファレンス。
他のヒント
Subversion を使用すると、セットアップも使いやすく、ツールも豊富です。将来のリビジョン システムには SVN からのインポート機能が搭載される予定なので、ニーズが高まっても将来変更できないわけではありません。
の 転覆の本 ツールを学ぶのに最適な方法です。他にもクイックスタート チュートリアルがあるかもしれませんが、この本は最も優れた参考資料です。
Git にはいくつかの優れた機能がありますが、CVS や Subversion などのより標準的なものをすでに使用していないと、その機能を理解することはできません。私も以前の投稿者に間違いなく同意し、まずは Subversion から始めたいと思います。
バージョン管理を初めて使用する場合は、これをお読みください。
ソース管理のハウツー
SVNを選択してください。これまでにソース管理を使用したことがない場合は、どちらにしても問題ありません。
また、ソース管理システムの使用には大量の学習は必要ありません。1 つを学べば、後で簡単に別の方法に切り替えることができます。
SVN は優れたツールであり、ほとんどのニーズに応えてくれます。そして、それが登場して以来、GUI ツール (TortoiseSVN など) をかなり共有しています。
SVNを選択してください。
基本的な概念のほとんどについてのわかりやすい説明については、を参照してください。 バージョン管理のビジュアルガイド. 。この記事は非常に SVN フレンドリーです。
私は RCS、CVS、SCCS、SourceSafe、Vault、perforce、subversion、および git を使用しました。
BitKeeper、Dimensions、arch、bazaar、svk、ClearCase、PVCS、および Synergy を評価しました。
今日新しいリポジトリを開始しなければならないとしたら、私は次のことを選択します ギット. 。手を下げて。
無料で高速で、現在開発中です。
また、git-svn を使用すると、任意の Subversion リポジトリのクライアントとして使用できます。
揺れます。
@superjoe30
あなたが唯一のプログラマである場合、自分のコンピュータでソース管理を使用するのはどうでしょうか?これは良い習慣ですか?関連するヒントやコツはありますか?
サーバーを必要とせず、URL の入力などを心配する必要もないため、実際には git の方が簡単だと思います。バージョン管理のものは、 .git
プロジェクト内のディレクトリにあるので、そのまま使用してください。
5 秒のイントロ (インストール済みであると仮定)
cd myproject
git init
git add * # add all the files
git commit
次回何か変更を加えるときは
git add newfile1 newfile2 # if you've made any new files since last time
git commit -a
それを行っている限り、Git がサポートしてくれます。失敗しても、コードは適切な git リポジトリに安全に保存されます。それは素晴らしいです
- 注記:git から何かを取り出すのは、取り込むよりも少し難しいと感じるかもしれませんが、ファイルがまったくないよりは、その問題がある方がはるかに望ましいのです。
私自身の経験から言えば、バージョン管理の入門として git を使用することはお勧めしません。私はこれを数か月間使用してきましたが、非常に強力で、部分的に理解できたのでかなり直観的であるという印象です。ただし、バージョン管理を何年も使用しているにもかかわらず、学習曲線は非常に急です。また、表現力が高すぎるという欠点もあります。多くの異なるワークフローや開発モデルをサポートしていますが、それを使用するための「最良の」方法に関する唯一のガイダンスは、Google 検索の数ページの深さであり、これも初心者にとって選択するのが難しいものです上。
そうは言っても、git を使って白紙の状態から始める方が実際には簡単である可能性があります。私の VCS 経験はすべて集中バージョン管理 (CVS、SVN、Perforce...) を使用したものであり、git に関する (現在進行中の!) 難しさの一部は次のとおりです。分散モデルの意味を理解する。Bazaar や Mercurial などの他の DVCS をざっと見たところ、どちらかというと初心者に優しいように思えました。
とにかく、他の人が言っているように、バージョン管理の考え方に慣れ、VCS の利点 (ロールバック、ブランチ、共同開発、簡単なコードレビューなど) を実際に体験するには、おそらく Subversion が最も簡単な方法です。
ああ、CVS から始めないでください。これはまだ実用化されており、利点もありますが、個人的な意見では、歴史的な癖や実装上の問題 (非アトミックコミット!) が多すぎて、学習するのに適していません。
私の一票はSubversionに送られます。非常に強力でありながら使いやすく、次のような優れたツールがいくつかあります。 TortoiseSVN.
しかし、私の前に他の人が言ったように、とにかく使い始めてください。ソース管理はソフトウェア開発プロセスの非常に重要な部分です。「本格的な」ソフトウェア プロジェクトにはこれが欠かせません。
私の現在の職場では、前任者はバージョン管理をまったく使用していませんでした。彼がすべてのプロジェクトを保管していた少なくとも 3 つの異なる場所に、山ほどのフォルダーが存在します。任意のランダムなプロジェクト フォルダーでは、少なくとも 1 つのフォルダー名「project (OLD)」と 1 つの「project」という名前のフォルダーが見つかると予想されます。
バージョン管理を使用すると、「安全な」ビルドのコピーを作成する必要はありません。コミットが非常に簡単なので、IDE が作業中のファイルを破損することを心配する必要はありません (REALBasic 5.5 をご覧ください)。毎日の仕事を保存)。
言うまでもなく、バージョン管理の存在を知った翌日にバージョン管理をインストールしました。
また、TortoiseSVN を使用すると、フォルダーを右クリックするのと同じくらい簡単にデータベースにコミットできます。
こちらもお試しください ビジュアルSVN コマンドライン作業を避けたい場合は、サーバー用に。
Mac OSX を使用している場合は、http://www.versionsapp.com/">Versions が SVN への素晴らしい (無料) GUI フロントエンドであることがわかりました。
Git は Subversion よりも優れていますが、最先端には少し出ていません。
始めたばかりの場合は、端に飛び乗ってください。無料アカウントをセットアップ @ http://github.com
git のセットアップと使用に関する教育資料がサイトにあります。
待ってはいけません。どれか 1 つを選んで、それを使いましょう。すべてのシステムにはプラスとマイナスがあります。誰が勝利するかを待っている間に、停電したり、コンピューターが盗まれたり、大きな変更を元に戻すのを忘れてコードがすべて焼き切れたりする可能性があります。
バージョン管理システムを切り替えるのはそれほど難しくありません。他の人も述べているように、重要なことはできるだけ早く使い始めることです。ソース管理を使用しない場合と比べて、ソース管理を使用する利点は、さまざまな種類のソース管理間の差異による利点を大幅に上回ります。
使用しているソース管理のバージョンに関係なく、古いシステムからファイルをディスクに配置し、それらの生のファイルを新しいシステムにインポートすることで、いつでも別のシステムへの総当り変換を実行できることに注意してください。
さらに、ソース管理の基礎に精通していることは、ソフトウェア開発者として非常に重要なスキルです。
TortoiseSVN (Mac の場合は version.app) を使用します。インストールするだけで使えます。コードをホストする場所が必要な場合は、以下を参照してください。 http://beanstalkapp.com/
Karl Seguin が指摘したように、別のバージョニング システムに移行しても問題はありません。SubVersion が最適です。また、SVN には、クライアント側 (TortoiseSVN) に非常に使いやすい GUI があります。
http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion
Subversion を選択し、独自の SVN サーバーをホストしたい場合は、VisualSVN サーバーと呼ばれる非常に優れた簡単な Windows ベースのサーバーがあります。これにより、Apache サーバーのセットアップの複雑さが隠蔽され、基本的には次へ次へと進むだけです。ユーザー構成は、構成ではなく WebUI で処理されます。
http://www.visualsvn.com/server/
Beanstalk のようなパブリック サーバーを使用する方がおそらく簡単ですが、速度やセキュリティのために独自のリポジトリを持ちたい人もいます。
コード バージョン管理システムを使用する必要があると決めたとき、開始方法に関する優れたチュートリアルがないか探しましたが、役に立ちそうなものは見つかりませんでした。
そこで、クライアント用に SVN サーバーと Tortoise SVN を簡単にインストールし、さらに深く掘り下げていきましたが、途中で使い方を学びませんでした。
実際の作業には SVN の使用を開始しますが、Git や Mercurial をいじる時間を作るようにしてください。SVN は本番環境ではかなり安定していますが、最終的には次のようなシナリオに直面するでしょう。 必要 分散型 SCM です。その頃には適切に武装し、新しいシステムが十分に成熟しているでしょう。
関連する質問 (おそらく、この質問に答えるために回答を編集することもできます):
あなたが唯一のプログラマである場合、自分のコンピュータでソース管理を使用するのはどうでしょうか?>>これは良い習慣ですか?関連するヒントやコツはありますか?
私はすべての個人プロジェクトに SVN を使用しています。最初は自宅のマシンで svn を実行していましたが、最終的には Dreamhost に移行しました。Subversion を含むホスティング パッケージは非常にリーズナブルです。
Windows ボックスの場合、手っ取り早い解決策は CVSNT です。使い方は簡単で、設定するだけで非常にうまく機能します。
私自身は SVN を好みますが、これはすぐに使用するのに適しています。
@superjoe30 はい、絶対に。一度バージョン管理を使い始めると、もう元には戻れません。私は「ホーム」フォルダーも含めて、すべてにそれを使用しています。
@Orion Edwards Subversion にはサーバーは必要ありません。ローカル リポジトリには直接 (もちろんクライアント経由で) アクセスでき、サーバー プロセスは関与しません。
TortoiseSVN を使用するだけで、実際の Subversion コマンドを知らなくても生きていけます...でもそれはダメだ。幸運なことに、貴重なリポジトリが最初に破損したとき、それらを暗記する「絶好の機会」が常に存在します。
はい、それは起こります。
他の場所で何度も述べたように、Just Do Itです。Red Book のクイック スタート ガイドを読むことで、Windows で Subversion を最初からすぐに使い始めることができました。TortoiseSVN をリポジトリに指定したら、すぐに作業が完了しました。細かい点を理解するのに時間がかかりましたが、乗り越えるには小さな問題でした。
file:// URL を使用する代わりに Subversion サービスをインストールすることをお勧めしますが、これは主に個人的な好みです。開発マシンに保存されているリポジトリの場合、file:// は正常に機能します。
個人的な経験から言えば、svn をお勧めします。のようなサービスも利用できます 豆の木 これは、水をテストするための無料アカウント(明らかに制限はありますが、小規模なプロジェクトには十分です)を提供します。しかし、他の人も言っているように、git の方が優れており、検討する価値はありそうです。