スキップしてメイン コンテンツに移動

【Day 03】C#開発環境構築(Git for Windows / TortoiseGit / VS Code)

Day 03: C#開発環境構築
👨‍🏫
皆さん、こんにちは! 本日の講座へようこそ。
第1回・第2回でGitの基本概念と分散型の思想を学びました。本日は第3回として、いよいよWindows環境でのGit開発環境構築(Git for Windows / TortoiseGit / VS Code)を実践します!
特にSVNエンジニアが最も事故りやすい「改行コード(CRLF)問題」の完全対策と、馴染み深いエクスプローラー操作のセットアップを徹底解説します!

① 導入・本日の達成目標

「GitってLinux生まれだからコマンド入力が難しそう…」「WindowsのVisual Studioで開発するなら何を入れればいいの?」という不安をお持ちの方も多いのではないでしょうか。

安心してください! Windowsには、世界最強のGitエンジン「Git for Windows」と、TortoiseSVNと全く同じ感覚で使える「TortoiseGit」が存在します。

本日のゴールは以下の3点です:

  • Windows環境特有の落とし穴である「改行コード(CRLF)問題」の仕組みと設定をマスターする。
  • TortoiseSVNの操作感をそのまま引き継ぐ「TortoiseGit」の初期設定を完了する。
  • Visual Studio / VS Code / PowerShell を組み合わせたC#現場の最適ワークフローを掴む。

② Windowsエンジニア最大の罠「改行コード(CRLF)問題」

WindowsとLinux/Macでは、改行コードの表現が根本的に異なります。

  • Windows(Visual Studio標準): CRLF\r\n、キャリッジリターン+ラインフィード)
  • Linux / macOS / GitHub標準: LF\n、ラインフィードのみ)

何も設定せずにGitを使うと、「1行しか直していないのに、改行コードの違いでファイル全体の全行が変更扱い(差分爆発)になる」という最悪の事故が発生します。

改行コード問題とautocrlf
▲ 【図解①】Windows vs Linux 改行コード問題と core.autocrlf の自動変換

これを防ぐのが、Git for Windowsの核となる設定 core.autocrlf = true です!

💡 autocrlf = true の素晴らしい仕組み:
  1. コミット時(保存時): 手元の CRLF を自動で世界標準の LF に変換してリポジトリに保存。
  2. チェックアウト時(展開時): リポジトリの LF を手元のWindows用に CRLF に自動復元。

③ SVNユーザーのためのTortoiseGit初期設定

長年TortoiseSVNを使ってきた方にとって、コマンドライン(CUI)だけの操作はストレスになります。
そこで必須となるのが「TortoiseGit」です!

TortoiseGit初期設定
▲ 【図解②】TortoiseSVNユーザーのためのTortoiseGit設定と操作感

エクスプローラーの右クリックメニューや、ファイルのステータスを示す「アイコンオーバーレイ(緑のチェック/赤のびっくり)」はTortoiseSVNとほぼ同一です。

操作項目 TortoiseSVN TortoiseGit
変更の記録 SVN コミット(サーバー直) Git コミット(手元保存)
サーバー同期 SVN 更新(Update) Git Pull / Push
履歴閲覧 ログを表示(リビジョン一覧) ログを表示(ブランチグラフ表示)
差分・競合解消 TortoiseMerge TortoiseGitMerge

④ C#現場での3大ツールの使い分け

現代のC#開発現場では、1つのツールに固執するのではなく、場面に応じて最適なツールを使い分けるハイブリッド運用が主流です。

3大ツールの使い分け
▲ 【図解③】C#開発現場における3大ツール(TortoiseGit / VS / CLI)の使い分け
  1. TortoiseGit: 週次のブランチマージ、複雑なコミットログの全体確認、エクスプローラーからの直感コミット。
  2. Visual Studio / VS Code: C#コードを書きながらのインライン差分確認、行単位の部分ステージング(git add -p 相当)。
  3. PowerShell / CLI: 高速な一括コマンド処理、ビルドスクリプト自動化、そして現代不可欠なAIエージェントとの協調開発

⑤ 実践! 3大アプローチでの設定手順

[A] CLI / PowerShell での必須初期コマンド

# 1. ユーザー名とメールアドレスの設定(コミット履歴に記録されます)
git config --global user.name "Taro Yamada"
git config --global user.email "yamada@example.com"

# 2. Windows環境の改行コード自動変換(最重要!)
git config --global core.autocrlf true

# 3. 日本語ファイル名の文字化け防止(Windows必須設定)
git config --global core.quotepath false

# 4. デフォルトブランチ名を main に設定
git config --global init.defaultBranch main

# 5. 現在の設定一覧を確認
git config --global --list

[B] TortoiseGit 設定画面での設定

デスクトップ等の何もない場所で 右クリック →「TortoiseGit」→「設定(S)」 を開きます。

  • 「Git」メニュー: ユーザー名・Email が正しく反映されているか確認。
  • 「ダイアログ 1」: コミットダイアログで「コミット&プッシュ」ボタンを表示するようにチェック。
  • 「オーバーレイハンドラー」: エクスプローラーのアイコンオーバーレイ表示設定を有効化。

[C] 4大AIエージェントへの環境診断プロンプト

環境構築が正しく完了したか不安なときは、AIエージェント(Antigravity / Claude Code / ChatGPT / Copilot)に次のプロンプトを投げて一発診断してもらいましょう:

「WindowsのPowerShell環境でGitの初期設定状態を診断してください。特に user.name, user.email, core.autocrlf, core.quotepath の設定値を確認し、問題があれば修正コマンドを提案してください。」
⚠️ 30年選手が一番ハマる落とし穴!

① 改行コード未設定による「Git Blame(履歴追跡)の完全崩壊」
誰かが改行コード変換なしでコミットすると、1文字の修正なのに全行が「その人が変更した」ことになってしまい、過去のコミット履歴(誰がいつ書いたコードか)が追跡不能になります。環境構築時に必ず core.autocrlf = true を設定しましょう!

② .gitignore を忘れて bin/ や obj/ フォルダをコミットする事故
C#プロジェクトのビルド成果物(.dll や .exe)はリポジトリに入れてはいけません(次回の講義で完璧な .gitignore 作成方法を伝授します)。

📌 本日のまとめ&宿題

第3回の講義、お疲れ様でした!
「Git for Windows+autocrlfで改行対策」「TortoiseGitでSVNの操作感を継承」「VS CodeとPowerShellを適材適所で使い分ける」という最強の土台が完成しました!

次回【Day 04】は、いよいよ実践編!「C#プロジェクトのローカルリポジトリ作成(git init)とGitHubからのクローン(git clone)」を学びます。お楽しみに!

コメント

このブログの人気の投稿

Perfume、2025年末で“コールドスリープ(活動休止)”へ──東京ドーム2daysの記録と、公式・各界・ファンの声

  1) 公式発表・基本情報 活動休止(コールドスリープ)を正式発表 2025年9月21日、公式サイト「 Perfumeより 」で、2026年から一度コールドスリープに入ると発表。再始動の意思(“新しいPerfume”として戻る)も明記。 Perfume Official Site 今後の運用告知(配信・上映など) 同21日付の「 今後のPerfumeに関して 」で、9/23(火・祝)東京ドーム公演の LIVESHIP全世界生配信 および 全国ディレイビューイング 決定を案内。特設サイトも併記。 Perfume Official Site +1 公式グッズ **「Perfume Calendar 2026」**発売決定(B2壁掛け/表紙+2カ月1枚×6枚+ポスター)。テーマは“フルーツ”。 Perfume Official Site 2) 東京ドーム2days(9/22・23)要点 公演タイトル: ZO/Z5 Anniversary “ネビュラロマンス” Episode TOKYO DOME 。日程・開場/開演・会場・物販等の実務情報は特設で公開。 Perfume Official Site 9/23公演を世界配信(LIVESHIP) /ディレイビューイング実施。 Perfume Official Site 海外向け報道(英語)も「 indefinite hiatus 」として広く配信。 The Times of India 国内英字メディアも速報。 朝日新聞 3) 現地レポ( メリ爺 )から見える空気 あなたの現地記録(9/24公開)を、ファクトと現場情景の両面で反映: 両日参戦 。22日は アリーナ 、23日は 1階席から俯瞰 。前日の発表を受け、開演前のザワつき→MC後に“いつもの一体感”へ。開演は22日 18:45 頃。オープニングは**P³ツアー東京ドーム(2020/2)**と同趣向で“回収”の演出。 メリ爺のゲーム万歳 MC所感 :解散ではなく前向きな休止で不安を和らげる内容。 かしゆか の涙、 のっち の気丈さ、 あ〜ちゃん の思い出語り──3人の結束と「 また戻る 」約束が強く刻まれた。 メリ爺のゲーム万歳 体感時間 : “3時間弱”級のボリューム ながら“過去一...

【Perfume】Perfume 3rd Tour 「JPN」さいたまスーパーアリーナに行って参りました~

Perfume 3rd Tour 「JPN」1月28日、29日の2daysで参戦して参りました。 ファンクラブ会員の選考抽選会に28日、29日の両日で申し込んでいたんですが、両方とも当選していたという嬉しい誤算。 仕事だぁ、なんだかんだと紆余曲折ありまして28日の参戦は危ぶまれていたのですが、なんとかかんとか28日は40分遅刻しながらも参戦、29日はフル参戦する事が出来ました(∩´∀`)∩

ニンテンドースイッチでオンラインゲームを遊ぶには?

モンスターハンターライズが発売になって、家族でモンハン楽しみたい人が増えたみたいですね。 某ブログの検索キーワードを調べると、モンハンを家族でやるにはどうしたらいいのか?を調べている人が沢山いるのがわかります。 ※これでも一部  家族で協力するにはSwitch2台、ソフトも2つ購入する必要があります。 1台のスイッチでは遊べませんし、ソフト1つでも遊べません。 でも、1台のスイッチで別々アカウントがあれば交代で遊ぶこともできますよ。セーブデータもしっかり分かれます。 Switchのオンラインゲームを家族で遊ぶ方法については以下の記事にまとめてますのでよろしければ参考にしてみてくださいね。 家族でモンスターハンターライズDL版のオンラインプレーを楽しむ方法