以下の人が対象となっています。
- Visual Studio だけで Git 管理したい
- とにかく Git がわからない。まずはローカルでテストしたい
- 開発は1人で行うので、GitHub など複数人での利用を考えた環境は必要ない
Git とは
一言でいうと「ファイルの履歴管理」システムです。ちなみに「ジット」ではなく「ギット」。
- 不用意にファイルを書き換えてしまった…
- ファイルを間違って削除したが、どこかへいってしまった
- 複数人で同じファイルを更新してしまい、先に更新した人の内容が消えてしまった…
なにも管理していなければ、プログラムをしていてこういう問題に行き詰まった経験が一つや二つはあるものです。
Git はこういう問題に対する一つの解決策となります。
なお、我流での把握なので、理解が追い付いてなかったり、記事が間違っている可能性があります。
粗相は何卒ご容赦ください。
SVN じゃダメなの?
(表面上は)似たようなシステムに SVN がありますが、様々なツールが Git を使えるよう工夫されており、今から使うのであれば Git の方がよさそうです。
今でも SVN をメインに運用している会社はあります。テキストエディタは秀丸一択、という人たちはまだまだ存在しています。
Git と GitHub は違うの?
Git は機能の名前、GitHub は Git をクラウドで管理できるようにしたサービスの名前です。
一旦 Git を使いだせば、「クラウド管理ならネットが繋がればどこでもプログラムできる…!」と夢が膨らむかと思いますが、使ったことのない人にとっては不安しかありません。
今回はまず Git という「ファイルの履歴管理」システムを使って、その便利さを味わうところから始めましょう。
Git に関しては他にも色々と記事を書いています。GitHub をすぐに使いたいようであれば、そちらも参考にしてください。
インストール要件
Visual Studio、Git for Windows が必要です。
Visual Studioは色々ありますが、今回はVisual Studio2019を使います。
Git for Windows のインストールについては以前書いた記事をご参照ください。
細かく機能改善が行われているようなので、インストールウィザードが多少異なるかもしれません。
最も簡単な Git 管理
現在のソリューションディレクトリをそのまま Git 環境にしてしまおう、という手段です。
ノンベアリポジトリ、と言ったりするそうです。
これだけでも Git の良さを味わうことができます。
コミットしか出来ないので厳密には Git っぽさがないかもしれません。
そのため、複数人での編集ができません。慣れてきたら次のステップへ進むのがおすすめです。
テストプロジェクト作成
Visual Studioを起動 > プロジェクトを新規作成 > コンソール アプリケーション > 次へ
ディレクトリは好みで。名前は ConsoleApp1
現在は .Net5.0 が選択されていますが、4.5 以上であれば(多分)どれでもOK
「F5: 実行」で Hello World! が表示されれば準備完了
Git リポジトリの作成
「リポジトリの作成」で Git を初期化し、使用可能にします。(イメージ)
画面上のメニュー Git > Git リポジトリの作成
「ローカルのみ」を選択し、作成
テストプロジェクト以外で、自動的にファイルが追加されない(出力にエラーが表示されます)というダイアログがポップするかもしれません。その場合は出力ウィンドウの指示に従ってください。
ファイルを変更してみる(テスト)
Hello World! -> Change the world. にコードを変更します。
ソリューションエクスプローラーを確認すると、見慣れない、赤い ✔(チェックマーク)が。
これが「ファイルが更新された」事を知らせるアイコンです。
ソリューションエクスプローラー上で Program.cs を 右クリック > Git > 未変更のものと比較
を選んでください。
このように、変更前と変更後のファイルを比較表示することができます。
「変更を元に戻す」で、変更内容をなかったことにすることも出来ます。(その場合、変更内容は失われます)
変更を確定する(コミット)
今度は Program.cs を 右クリック > Git > コミットまたは一時退避
を選んでください。
メッセージには変更理由を記載します。なんでもいいのですが「文言変更」にしておきました。
その後、「すべてをコミット」。
メッセージは必須です。理由もなく適当な確定をするな! という Git の思想でしょうか。
これで確定完了です。
ソリューションエクスプローラーに戻ると、チェックマークが鍵マークに変わっていると思います。
ファイルの追加
ソリューションに Class1.cs というテストクラスを追加します。Program.cs から呼び出すよう変更します。
class1.cs
using System; namespace ConsoleApp1 { class Class1 { public static void AddMessage() { Console.WriteLine("No one lives forever."); } } }
Program.cs
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Change the World."); Class1.AddMessage(); } } }
Class1.cs には + マークが表示されます。これがファイル追加のサインです。
Program.cs も変更したため、✔ がついています。
どのファイルでもいいので選択し、右クリック > Git > コミットまたは一時退避
。
追加、変更した2ファイルが表示されています。メッセージに「Add Class1」と入力し「すべてをコミット」。
変更が適用されました。
ファイルを削除
やっぱり Class1 イラナカッター、ということでファイルを削除しましょう。
Program.cs も元に戻します。
ファイル名の右にあるアルファベットは「A」dd、「D」elete、「M」erge の頭文字だと思います。
Delete はわかりやすく取り消し線もありますね。
この状態で「すべてをコミット」しましょう。
今までの変更履歴を確認
ソリューションエクスプローラーで Program.cs を選択し、右クリック > Git > 履歴を表示
。
今までの変更の変遷が表示されます。メッセージ必須のお陰で、なぜ変更されたかが分かりやすくなっていますね。
このうち例えば 'Add Class1' の時のコードを表示したければ、Add Class1 をダブルクリックします。
このように、以前のコードがサッと表示されます。
ちなみに、エクスプローラーでファイルを追加すると…?
他からコピーなど、Visual Studio を通さずファイルをコピーすると問題なく動くんでしょうか?
エクスプローラーで readme.txt を追加します。
Visual Studio の ソリューションエクスプローラーを見ると、きちんと + マークで追加されました。
便利ですね!
最も簡単な Git 管理はここまでです!
個人でファイルを履歴管理するだけであれば、ここまでで十分役立つことでしょう。
複数人でも使いたい場合は次の記事をご覧ください。