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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

8回答

2384閲覧

バージョン管理システム

Negligible-n

総合スコア18

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/02/22 14:18

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2019/02/22 14:35 編集

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

2019/02/23 02:30

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

回答8

0

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

  • 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/22 23:28

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Stan_Dma

2019/02/23 00:50

RCS may be beyond memory... It has existed.
raccy

2019/02/23 01:00

Stan_Dmaさん RCSは全く使ったことがないので私は詳しくありません。詳しく知っていて、お勧めと思うのであれば、コメントでは無く、回答をした方が皆のためになると思います。
Stan_Dma

2019/02/23 01:26

I may suppose that the term 'revision' has been widely used in the version control systems because of the appearance of RCS or by what they had named in early days. Too old to use.
Stan_Dma

2019/02/23 01:36

FYI, You should also mention Bazaar for their honor.
raccy

2019/02/23 01:52

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

0

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

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

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

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

投稿2019/02/22 14:55

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wwbQzhMkhhgEmhU

2019/02/22 22:56

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

2019/02/23 00:15

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

2019/02/23 03:20

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

0

こんにちは。

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

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

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

投稿2019/02/23 04:58

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2019/02/23 03:18

fu7mu4

総合スコア1088

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2019/02/23 00:30

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

参考情報

  • 【新人向け】これだけは知っておいて欲しい基礎知識 バージョン管理編

https://qiita.com/tomPlain/items/540e73e5fb6cb2dcb1f6

  • 2018-05a-Git/GitHub講義

https://speakerdeck.com/cybozuinsideout/2018-05a-git-and-github-lecture

  • git入門

https://dotinstall.com/lessons/basic_git

投稿2019/02/22 22:40

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

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

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

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

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

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

投稿2019/02/23 10:11

編集2019/02/23 10:13
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2019/02/23 10:14

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

0

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

投稿2019/02/22 14:45

編集2019/02/22 14:46
y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問