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

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

ただいまの
回答率

87.59%

バージョン管理システム

受付中

回答 8

投稿

  • 評価
  • クリップ 0
  • VIEW 1,795

score 18

バージョン管理システムには何が良いのでしょうか?
環境はwin10でのvs2017です
GitHubは有名なので存在は知ってはいますが調べてもよく分かりませんでした
GitHubでもそれ以外でも構わないのでバージョン管理システムの解説をできる限り細かくお願いします

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • pepperleaf

    2019/02/22 23:34 編集

    まずは使ってみましょう。
    GitHubはフリーもあるので、だれでも使えます。Gitだけなら、Visual studio入れるだけで簡単に使えます。
    あと、どの程度の規模で、どんな目的で使うか、書かないと回答は得にくいと思います。(安い方が良いとか、サポートが必要とか、、等々)
    検索すれば、比較サイトもあったかと思います。

    キャンセル

  • episteme

    2019/02/23 11:30

    「できる限り細かく」て、一冊の本になりそうなことをさらっと訊きますなぁ...

    キャンセル

  • 退会済みユーザー

    2019/02/23 12:24

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 8

+5

バージョン管理システムで有名な物から古い順に上げていきます。

  • CVS - 1990年
    昔からある集中型バージョン管理システム。広く使われていたが、問題も多かった。
  • Subversion (SVN) - 2000年
    CVSの問題点を改善した集中型バージョン管理システム。コマンドがCVSと同じな物が多く、ポストCVSとして多くのプロジェクトがCVSから移行した。
  • Mercurial - 2005年
    主にPythonで作られた分散型バージョン管理システム。後述のGitに比べるとそれほど普及していない。
  • Git - 2005年
    CVSをアンチテーゼとして作られた分散型バージョン管理システム。現在においてはデファクトスタンダードとなりつつある。

バージョン管理システムが使用できる開発者向けのホスティングサービスで有名な物を上げていきます。

  • SourceForge - CVS, Subversion, Git
    老舗。昔から有るソフトウェアの多数が利用している。しかし、配布ソフトウェアのマルウェア問題や管理権限の乗っ取り等の管理上多くの問題が発生したため、プロジェクトの他所への引っ越しも目立つ。落ち目。
  • OSDN - CVS, Subversion, Mercurial, Git
    日本の会社が提供するサービス。ドキュメントやサポートが日本語でも用意してある。元々は日本語版SourceForgeとして作れていたが、色々あって名前を変えた。
  • Google Code - Subversion, Mercurial, Git
    かつてGoogleが提供していたサービスだったが、現在は終了している。アーカイブのみが残っている。
  • GitHub - Git
    Gitのホスティングサービスとしてはデファクトスタンダード。Google Codeが終了した原因の一つにもなった。マイクロソフトが買収したとこでも有名。日本語のサポートが全くなかったが、日本支社が作られたので、今後充実していくような気がする。多くのOSSがGitHubで移行しており、また、新しいOSSの多くがGitHubを利用している。
  • Bitbucket - Mercurial, Git
    GitHubのライバル。GitHubと競い合っていた最初の頃はは無料でプライベートレポジトリがたくさん作れると言うことで公開したくない人達がたくさん押し寄せた(現在はGitHubでも無料で作成可能)。
  • Gitlab - Git
    「Gitlab」というGitレポジトリマネジャーアプリケーションを開発しているGitlab社がGitlabを使って提供しているホスティングサービス。どちらか言うとアプリのGitlabの方が有名。Gitlabが提供できるサービスはGitHubと遜色ない内容となっており、言わばオンプレ版GitHubを作ることが出来る。
  • 独自サーバー with Gitlab - Git
    アプリのGitlabを使えば、自分が所有するサーバーでGitHubみたいなことができる。ディスクを買って追加すれば容量は無限、プライベートレポジトリも作り放題、アクセス制限も設定し放題。
  • ファイル共有サーバー - Git
    GitはSMBやNFS等のファイル共有している領域にベアレポジトリを作って、複数人で利用することも可能。少人数であれば、ぶっちゃけこれで十分というのもある。

なお、私が仕事で行っている俺一人だけプロジェクトは最後のファイル共有サーバーにしています。Gitlabサーバーも一回建ててみたのですが、Gitlabサーバーを運用・管理するのが面倒になったので。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/02/23 10:36

    FYI, You should also mention Bazaar for their honor.

    キャンセル

  • 2019/02/23 10:52

    Stan_Dmaさん
    私は全てを列挙しようとしているわけではありません。それに、私は全てのシステムを知っているわけではありません。たくさんのシステムについて多く知っていて、紹介できるのであれば、ご自分で回答すればいいと思います。

    キャンセル

  • 2019/02/23 10:54 編集

    Thanks.

    キャンセル

+4

2019 年現在、バージョン管理システムは、ほぼ Git 一択の状態です。

参考:
2018年 バージョン管理システムトップ7 - Stack Overflow

また、GitHub は厳密にいうとバージョン管理システムはでなく、Git のホスティングサービスです。

Git のホスティングサービスとしては、GitHub の他にも GitLab や Bitbucket などがありますが、
はじめて Git を使うのであれば、GitHub を利用するのが無難だと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/02/23 07:56

    残念ながら一択でもないどころか、業務システムではまだまだsubversionが多いです。
    古かったりするとモノによっては、VSS系やらcvsやら、他にもいくつか出てきます。
    gitは使える人にとっては非常に便利な反面、学習に向けたハードルも高いシステムです。なので、メンバによっては抵抗する人も多くて、現状だと導入が困難(ようは事細かな手順書やら説明資料や説明会などが必要だったりする)な側面があります。svnだとその手の問題は割と抑えられます。
    私が携わったやや古めな業務システムであれば、svn必須、gitは使える人だけローカルで使用、みたいな運用でしたよ。

    以上、ご参考までに。

    キャンセル

  • 2019/02/23 09:15

    新規で使う(勧める)なら git 一択ってことでしょう。subversion やcvsが使われているところがあるのは誰でも知っていて新しいものに抵抗がある人はいくらでもいます。

    キャンセル

  • 2019/02/23 12:20

    えーっと、経験をベースに、新規で学習するなら現実的にはsvn一択なプロジェクトがほとんどだったよって話を伝えたかっただけですよ。私の周囲での現状のgitの立ち位置を説明する必要があったってことです。プロジェクト次第ですけどね。個人的にはgitが好きでメンバ次第ではgitにしたことも何度かあります。二人プロジェクト以外、残念ながらあまり良い結果にはなりませんでしたが。。。

    キャンセル

+2

バージョン管理だけなら、現在新たにという観点で考えるなら git で決まりと言っていいでしょう。
Visual Studio/Visual Studio Code など、開発環境からも git リポジトリの操作が統合されるので、意識しなくても使えますし。(svn や cvs も使えますが)

仕事上で言えば、自社の開発プロジェクトの場合はチケット管理の redmine と連携させるかたちで git リポジトリを(自前のサーバーに)置いています。GitHub などのホスティングは使ってません。
※チケット管理と連携させる場合、チケット管理のサーバー上にリポジトリがないと困ることが多いので、origin/master を置いています

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+2

VisualStudio 2017は標準でgitに対応していたはずですので、gitをお勧めします。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+2

こんにちは。

生産性を上げるという意味では、他の方もおっしゃっているように git 一択と私も思います。
ただ、svn というバージョン管理システムもそれなりに使われています。学習が比較的容易なことが最大の理由でしょう。

バージョン管理という概念は、svnくらい単純化したもの(単純なライン構造+変更不可)なら比較的容易に学べますが、gitのようにツリー構造、かつ、変更可能なバージョン管理は意外に理解し辛いです。使い方の解説は多いのですが、考え方の解説がほとんど見当たらないことも痛いです。

ですが、ブランチ(枝)を容易に生やせて、剪定したり継ぎ接ぎ(というか整理)したりできるのでプログラム開発の枠組みが大きく広がります。プログラム開発が主なグループに属していて、かつ、難しいことへ挑戦する根性があるなら git を強くお勧めします。(プログラム開発が主というわけでない場合は、悩ましいです。svnで妥協するのも有りと思います。)

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+1

参考情報

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

Git も Visual Studio も Microsoft 社製なので、Visual Studio 2017 と最も親和性の良いものは Git です。

プロジェクトを新規作成する際にプロジェクト名をつけるところで「新しい Git リポジトリの作成(G)」というチェックボックスがあるので探してみてください。

プロジェクトを作ったら、何かファイルを書き換えてソリューションエクスプローラーを見ると、書き換えたファイルのところに赤いチェックマークがついていると思います。
これは「書き換えられたけれどステージもコミットもされていないファイル」という意味です。

それを確認したら、ソリューションを右クリックして「コミット」を選択してください。チェックマークが消えると思います。

あるいは、もう一度書き換えて保存し、ソリューションエクスプローラーで右クリックして「元に戻す」を選択してください。書き換える前に戻ると思います。

また書き換えて「未変更のものと比較」で、どこをどのように書き換えたのかがわかります。

他にブランチを作ったり GitHub にプッシュしたりもチームエクスプローラーから行うことができ、他のツールの必要がありません。
詳細については書ききれないので、わからない用語などは自分で検索してください。

バージョン管理システムは複数人から成るチームで使うときに最も威力を発揮しますが、一人で使う時でも十分便利です。一度コミットすれば、いくらソースを書き換えてもその時点に戻れることと、ブランチを上手に使えば、新機能の開発を継続しながらでも、旧バージョンと新バージョンの両方にバグフィクスのパッチを当てることができるところが特に便利だと思います。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/02/23 19:14

    Microsoft に買収されたのは Git ではなく GitHub なので本文に誤りがありました。

    キャンセル

-1

「git」でぐぐって、でてくるものを一通り読みましょう

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

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