C#×GitHub入門:プロジェクト作成・公開・共有まで初心者向けにわかりやすく解説

はじめに

C#で作ったアプリや学習用プログラムを、ただ自分のパソコンの中に保存しているだけでは、後から変更履歴を確認したり、他の人に見せたり、チームで開発したりするのが難しくなります。そこで役立つのがGitHubです。

「csharp github」や「C# GitHub」と検索している方の多くは、C#プロジェクトをGitHubで管理したい、Visual StudioからGitHubに公開したい、作ったアプリをポートフォリオとして共有したい、という目的を持っているのではないでしょうか。

この記事では、C#初心者向けに、C#プロジェクトの作成からGitでの管理、GitHubへの公開、共有、他人のプロジェクトの取得方法、よくあるエラーの対処法までを一通り解説します。

1. C#×GitHubでできることと初心者が最初に理解すべき全体像

C#とGitHubを組み合わせると、作成したプログラムを安全に管理し、他の人に見せたり、共同開発したりできるようになります。

たとえば、コンソールアプリ、Windowsアプリ、Webアプリ、ゲーム開発用のコード、学習用サンプルなどをGitHubに置いておけば、いつでも過去の変更を確認できます。また、URLを共有するだけで、友人や採用担当者にソースコードを見てもらうこともできます。

初心者が最初に理解すべきなのは、C#のコードを書く場所と、Gitで履歴を保存する場所、GitHubで公開・共有する場所は、それぞれ役割が違うということです。

1-1. C#プロジェクトをGitHubで管理・公開・共有するメリット

C#プロジェクトをGitHubで管理するメリットは大きく分けて4つあります。

まず、変更履歴を残せることです。どのファイルをいつ変更したのか、どの時点で機能を追加したのかを記録できます。問題が起きたときも、過去の状態を確認しやすくなります。

次に、バックアップとして使えることです。ローカルのパソコンが壊れたり、誤ってファイルを削除したりしても、GitHubにpushしていれば復元しやすくなります。

また、他の人と共有しやすくなります。GitHubのリポジトリURLを送るだけで、相手はソースコードやREADMEを確認できます。

さらに、ポートフォリオとして活用できます。C#で何を作れるのか、どのようにコードを書いているのかをGitHub上で見せられるため、就職・転職・学習記録にも役立ちます。

1-2. Git・GitHub・Visual Studioの役割の違い

C#初心者が混乱しやすいのが、Git、GitHub、Visual Studioの違いです。

Visual Studioは、C#のコードを書いたり、実行したり、デバッグしたりするための開発環境です。C#プロジェクトを作成する中心的なツールと考えるとわかりやすいです。

Gitは、ファイルの変更履歴を管理するための仕組みです。どのファイルを変更したか、いつ保存したか、どんな理由で変更したかを記録できます。

GitHubは、Gitで管理しているプロジェクトをインターネット上に保存・公開・共有できるサービスです。

つまり、Visual StudioでC#を書く、Gitで変更履歴を保存する、GitHubで公開・共有する、という流れになります。

1-3. 初心者がつまずきやすい「ローカル」「リモート」「リポジトリ」の意味

GitHubを使い始めると、「ローカル」「リモート」「リポジトリ」という言葉がよく出てきます。

ローカルとは、自分のパソコン上の環境のことです。Visual Studioで開いているC#プロジェクトのフォルダは、基本的にローカルにあります。

リモートとは、GitHubなどインターネット上にある保存先のことです。GitHub上のリポジトリはリモートリポジトリと呼ばれます。

リポジトリとは、プロジェクトのファイルと変更履歴をまとめて管理する場所です。C#プロジェクトのフォルダ全体をGitで管理する場合、そのフォルダがリポジトリになります。

初心者は「ローカルで作業して、コミットで履歴を保存し、pushでGitHubに送る」と覚えると理解しやすいです。

1-4. この記事で作成・公開するC#プロジェクトの完成イメージ

この記事では、シンプルなC#のコンソールアプリを例に考えます。

完成イメージは次のような流れです。

Visual StudioでC#のコンソールアプリを作成し、簡単な処理を書く。READMEを作成して、プロジェクトの概要や実行方法を書く。Gitで変更履歴を管理し、初回コミットを作成する。GitHubに新規リポジトリを作成し、ローカルのC#プロジェクトをpushする。最後にGitHubのURLを共有できる状態にします。

これができるようになると、他のC#プロジェクトでも同じ考え方でGitHubに公開できます。

2. C#プロジェクトをGitHubに公開する前の準備

C#プロジェクトをGitHubに公開する前に、必要なツールと設定を整えておきましょう。最低限必要なのは、GitHubアカウント、C#を開発する環境、Gitの3つです。

2-1. GitHubアカウントの作成と基本設定

まずはGitHubアカウントを作成します。ユーザー名はGitHub上で公開されるため、ポートフォリオとして使う予定がある場合は、見られても問題ない名前にしておくとよいでしょう。

アカウントを作成したら、プロフィール画像、自己紹介、公開メールアドレスの設定を確認します。特にメールアドレスは、公開したくない場合はGitHub側で用意される非公開用メールアドレスを使う設定にしておくと安心です。

また、2段階認証も設定しておくと安全性が高まります。GitHubはソースコードを管理する重要な場所なので、アカウントの保護は早めに行いましょう。

2-2. Visual StudioまたはVisual Studio Codeのインストール

C#開発では、Visual StudioまたはVisual Studio Codeを使うのが一般的です。

初心者にはVisual Studioがおすすめです。C#プロジェクトの作成、ビルド、実行、デバッグ、GitHub連携まで画面上で操作しやすいためです。インストール時には「.NET デスクトップ開発」や、必要に応じて「ASP.NET と Web 開発」などのワークロードを選びます。

Visual Studio Codeは軽量で、拡張機能を入れることでC#開発に対応できます。すでにVS Codeに慣れている人や、コマンドライン操作も学びたい人に向いています。

2-3. Gitのインストールと初期設定

GitHubを使うには、基本的にGitが必要です。Visual StudioにはGit連携機能がありますが、コマンドラインから操作する場合はGitをインストールしておきましょう。

インストール後、最初にユーザー名とメールアドレスを設定します。

Bash
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"

この情報はコミット履歴に記録されます。GitHubのアカウントで使うメールアドレスと合わせておくと、GitHub上でコミットした人として正しく表示されやすくなります。

設定内容は次のコマンドで確認できます。

Bash
git config --global --list

2-4. GitHubに公開してよいファイル・公開してはいけないファイル

GitHubに公開する前に、どのファイルを公開してよいか確認することが重要です。

公開してよいものは、C#のソースコード、プロジェクトファイル、README、ライセンス、設定例などです。たとえば、.cs.csproj.slnREADME.mdなどは通常公開して問題ありません。

一方で、公開してはいけないものもあります。パスワード、APIキー、アクセストークン、データベース接続文字列、個人情報、本番環境の設定ファイルなどです。

特にC#のWebアプリでは、appsettings.jsonや環境変数に秘密情報を書いている場合があります。公開前に中身を必ず確認しましょう。

2-5. .gitignoreとは何か:C#プロジェクトで除外すべきファイル

.gitignoreは、Gitで管理しないファイルやフォルダを指定するためのファイルです。

C#プロジェクトでは、ビルド時に自動生成されるbinフォルダやobjフォルダをGitHubに公開する必要はありません。これらはソースコードから再生成できるため、Git管理から除外するのが一般的です。

C#プロジェクトでよく除外するものは次のようなファイルやフォルダです。

gitignore
bin/
obj/
.vs/
*.user
*.suo

Visual StudioでGitリポジトリを作成すると、C#向けの.gitignoreを自動で用意できる場合もあります。初心者は、GitHubやVisual Studioが用意するVisual Studio用の.gitignoreテンプレートを使うと安心です。

3. C#プロジェクトを新規作成する手順

ここからは、C#プロジェクトを新規作成する流れを見ていきます。まずはシンプルなコンソールアプリから始めると、GitHub公開までの流れを理解しやすくなります。

3-1. Visual StudioでC#プロジェクトを作成する

Visual Studioを起動したら、「新しいプロジェクトの作成」を選びます。検索欄に「C#」や「コンソール」と入力し、「コンソール アプリ」を選択します。

プロジェクト名には、内容がわかりやすい名前を付けましょう。たとえば、HelloCSharpGitHubTodoConsoleAppなどです。

保存場所を選び、使用する.NETのバージョンを選択して作成します。作成が完了すると、Program.csなどのファイルが自動で生成されます。

最初は次のような簡単なコードで問題ありません。

C#
Console.WriteLine("Hello, C# and GitHub!");

実行してメッセージが表示されれば、C#プロジェクトの作成は完了です。

3-2. コンソールアプリ・Windowsアプリ・Webアプリの違い

C#にはさまざまな種類のアプリを作成できます。

コンソールアプリは、黒い画面やターミナル上で動くシンプルなアプリです。C#の基礎学習やGitHub公開の練習に向いています。

Windowsアプリは、ボタンやテキストボックスなどの画面を持つデスクトップアプリです。Windows FormsやWPFなどを使って作成します。

Webアプリは、ブラウザ上で動くアプリです。ASP.NET Coreを使うと、WebサイトやAPIをC#で作成できます。

初心者がC# GitHubの流れを学ぶなら、まずはコンソールアプリから始めるのがおすすめです。ファイル構成がシンプルで、GitHubに公開したときも中身を理解しやすいからです。

3-3. ソリューションとプロジェクトの違い

Visual Studioでは、「ソリューション」と「プロジェクト」という言葉が出てきます。

プロジェクトは、実際のアプリやライブラリを作る単位です。C#のソースコードや.csprojファイルが含まれます。

ソリューションは、複数のプロジェクトをまとめて管理する入れ物です。.slnファイルがソリューションを表します。

たとえば、Webアプリ本体、テスト用プロジェクト、共通ライブラリを1つのソリューションにまとめることができます。初心者のうちは「ソリューションは全体の箱、プロジェクトは中に入っているアプリ」と考えるとわかりやすいです。

3-4. GitHubに公開しやすいフォルダ構成の考え方

GitHubに公開するC#プロジェクトは、見た人がすぐに内容を理解できる構成にすることが大切です。

基本的には、ソリューションファイル、プロジェクトフォルダ、README、.gitignoreをリポジトリの上位に置くとわかりやすくなります。

例として、次のような構成です。

HelloCSharpGitHub/
├─ HelloCSharpGitHub.sln
├─ HelloCSharpGitHub/
│ ├─ HelloCSharpGitHub.csproj
│ └─ Program.cs
├─ README.md
└─ .gitignore

複雑なアプリでなければ、最初はこの程度の構成で十分です。GitHub上で見たときに、どこにコードがあるのか、どう実行するのかが伝わることを意識しましょう。

3-5. READMEに書くべきプロジェクト概要・使い方・実行方法

READMEは、GitHubリポジトリの説明書です。C#プロジェクトを公開するなら、READMEを整えるだけで見やすさが大きく変わります。

READMEには、最低限次の内容を書いておくとよいでしょう。

Markdown
# HelloCSharpGitHub

C#とGitHubの学習用に作成したコンソールアプリです。

## 概要

このプロジェクトは、C#で簡単なメッセージを表示するサンプルアプリです。

## 使用技術

- C#
- .NET
- Visual Studio

## 実行方法

1. このリポジトリをcloneします。
2. Visual Studioで`.sln`ファイルを開きます。
3. 実行ボタンを押します。

## 学習目的

- C#プロジェクトの作成
- Gitによる変更管理
- GitHubへの公開

READMEがあると、初めてリポジトリを見た人でもプロジェクトの目的を理解しやすくなります。

4. C#プロジェクトをGitで管理する基本操作

C#プロジェクトを作成したら、次はGitで変更履歴を管理します。Gitを使うことで、ファイルの変更を記録し、必要に応じて過去の状態を確認できます。

4-1. リポジトリを作成する

ローカルのC#プロジェクトをGitで管理するには、まずリポジトリを作成します。

コマンドラインで行う場合は、プロジェクトフォルダに移動して次のコマンドを実行します。

Bash
git init

これで、そのフォルダがGitリポジトリになります。Visual Studioを使う場合は、「Gitリポジトリの作成」や「ソース管理に追加」などのメニューから作成できます。

リポジトリを作成すると、Gitはそのフォルダ内のファイル変更を追跡できるようになります。

4-2. 変更内容を確認する

現在の変更状況を確認するには、次のコマンドを使います。

Bash
git status

このコマンドを実行すると、追加されたファイル、変更されたファイル、まだGitに登録されていないファイルなどが表示されます。

C#プロジェクトでは、Program.cs.csprojREADME.mdなどが変更対象として表示されることがあります。一方で、.gitignoreが正しく設定されていれば、binobjは通常表示されません。

4-3. コミットとは何か:変更履歴を保存する考え方

コミットとは、変更内容を1つの履歴として保存する操作です。

たとえば、「最初のC#コンソールアプリを作成した」「READMEを追加した」「入力機能を追加した」というように、作業の区切りごとにコミットします。

コミットは単なる保存ではなく、「なぜその変更をしたのか」を記録する意味もあります。そのため、コミットメッセージには変更内容がわかる言葉を書くことが大切です。

初心者のうちは、機能を少し追加したらコミット、READMEを修正したらコミット、というように小さく分けると管理しやすくなります。

4-4. 初回コミットの手順

初回コミットでは、現在のC#プロジェクト一式をGitに登録します。

まず、変更されたファイルをステージングします。

Bash
git add .

次に、コミットします。

Bash
git commit -m "Initial commit"

git add .は、現在のフォルダ以下の変更をまとめてステージングするコマンドです。git commit -mは、メッセージ付きでコミットするコマンドです。

Visual Studioの場合は、Git変更画面で変更ファイルを確認し、コミットメッセージを入力して「すべてコミット」を選択します。

4-5. コミットメッセージの書き方と初心者向け例文

コミットメッセージは、後から見たときに変更内容がわかるように書きます。

初心者向けの例文は次の通りです。

Initial commit
Add README
Create console app
Add user input feature
Fix calculation bug
Update project description
Add .gitignore

日本語で書いても問題ありません。

初回コミット
READMEを追加
コンソールアプリを作成
ユーザー入力機能を追加
計算処理の不具合を修正
.gitignoreを追加

大切なのは、曖昧なメッセージを避けることです。たとえば「修正」「変更」だけでは、何を変更したのかわかりません。「READMEの実行方法を修正」のように具体的に書くとよいでしょう。

4-6. ブランチとは何か:main・develop・作業ブランチの基本

ブランチとは、作業の流れを分けるための仕組みです。

mainは、完成した安定版のコードを置くブランチとして使われることが多いです。developは開発中の内容をまとめるブランチとして使われることがあります。

個別の作業をするときは、作業ブランチを作ると安全です。たとえば、新しい入力機能を作るなら、feature/user-inputのようなブランチを作ります。

Bash
git switch -c feature/user-input

作業が完了したら、mainに取り込む流れになります。初心者の個人開発では、最初はmainだけでも問題ありません。ただし、チーム開発やポートフォリオ用の開発では、ブランチの考え方を覚えておくと便利です。

5. C#プロジェクトをGitHubに公開する方法

ローカルでC#プロジェクトをGit管理できたら、次はGitHubに公開します。ここでは、GitHub上にリモートリポジトリを作成し、ローカルのコードをpushする流れを解説します。

5-1. GitHubで新規リポジトリを作成する

GitHubにログインし、右上の「New repository」または「New」から新規リポジトリを作成します。

リポジトリ名には、プロジェクト内容がわかる名前を付けます。たとえば、hello-csharp-githubcsharp-todo-consoleなどです。

説明文には、何をするC#プロジェクトなのかを簡潔に書きます。

例:

A simple C# console app for learning GitHub.

すでにローカル側でREADMEや.gitignoreを作成している場合、GitHub側ではREADMEを追加しない設定にすると、後の作業がシンプルです。

5-2. PublicとPrivateの違いと選び方

GitHubリポジトリには、PublicとPrivateがあります。

Publicは、誰でもリポジトリを閲覧できる設定です。ポートフォリオや学習記録として見せたいC#プロジェクトに向いています。

Privateは、自分と招待した人だけが閲覧できる設定です。公開前の開発、チーム内の共有、秘密情報を含む可能性があるプロジェクトに向いています。

初心者が学習用のC#プロジェクトを公開する場合は、秘密情報が含まれていないことを確認したうえでPublicにすると、ポートフォリオとして活用しやすくなります。不安がある場合は、最初はPrivateで作成して、後からPublicに変更する方法もあります。

5-3. Visual StudioからGitHubへ公開する手順

Visual Studioでは、画面操作でGitHubに公開できます。

まず、C#プロジェクトを開きます。次に、Gitメニューから「Gitリポジトリの作成」や「GitHubにプッシュ」などを選択します。

GitHubアカウントにサインインし、リポジトリ名、説明、公開範囲を設定します。設定が完了すると、Visual StudioがローカルリポジトリとGitHubリポジトリを接続し、コードをpushします。

公開後は、GitHubのリポジトリページを開いて、.sln.csprojProgram.csREADME.mdなどが表示されているか確認しましょう。

5-4. コマンドラインでGitHubへpushする手順

コマンドラインでGitHubへpushする場合は、GitHubで作成したリポジトリURLを使います。

まず、ローカルリポジトリにリモートを追加します。

Bash
git remote add origin https://github.com/ユーザー名/リポジトリ名.git

次に、mainブランチをGitHubへpushします。

Bash
git branch -M main
git push -u origin main

これで、ローカルのC#プロジェクトがGitHub上に公開されます。

2回目以降は、基本的に次の流れで更新できます。

Bash
git add .
git commit -m "Update feature"
git push

この「変更する、コミットする、pushする」という流れが、C# GitHub運用の基本です。

5-5. GitHub上でソースコードが正しく公開されたか確認する方法

pushが完了したら、GitHubのリポジトリページを開いて確認します。

確認するポイントは次の通りです。

README.mdが表示されているか。C#のソースコードが含まれているか。.sln.csprojがあるか。不要なbinobjフォルダが入っていないか。秘密情報が含まれていないか。

特に、appsettings.jsonや設定ファイルを含むプロジェクトでは、公開してはいけない情報がないか必ず確認しましょう。

5-6. 公開後にリポジトリ名・説明文・トピックを設定する

GitHubに公開した後は、リポジトリの情報を整えましょう。

リポジトリ名は、内容がわかりやすいものにします。説明文には、C#で何を作ったのかを短く書きます。

また、Topicsを設定すると、GitHub上でプロジェクトの技術要素が伝わりやすくなります。

C#プロジェクトなら、次のようなトピックが使いやすいです。

csharp
dotnet
console-app
visual-studio
github

ポートフォリオとして見せる場合は、リポジトリを開いた瞬間に「何のプロジェクトか」が伝わることを意識しましょう。

6. GitHubに公開したC#プロジェクトを共有する方法

GitHubに公開したC#プロジェクトは、URLを共有するだけで他の人に見てもらえます。ただし、相手に伝わりやすくするには、READMEやリポジトリ設定を整えることが重要です。

6-1. GitHubリポジトリのURLを共有する

GitHubリポジトリのページを開き、ブラウザのURLをコピーして共有します。

Publicリポジトリであれば、URLを知っている人は誰でも閲覧できます。友人、学習コミュニティ、SNS、ポートフォリオサイト、履歴書、職務経歴書などに掲載できます。

例として、次のような形で共有できます。

C#で作成したコンソールアプリです。
GitHub: https://github.com/ユーザー名/リポジトリ名

Privateリポジトリの場合は、URLを送るだけでは相手は見られません。共同編集者として招待する必要があります。

6-2. READMEを整えて相手に伝わるプロジェクトにする

GitHubで共有するとき、最も重要なのがREADMEです。

READMEには、プロジェクト名、概要、使用技術、機能、実行方法、スクリーンショット、学習目的などを書きます。

C#プロジェクトの場合、実行方法を具体的に書くと親切です。

Markdown
## 実行方法

1. Visual Studioで`SampleApp.sln`を開きます。
2. NuGetパッケージを復元します。
3. `F5`キーまたは実行ボタンで起動します。

Webアプリなら、必要な.NETバージョンやデータベース設定も書いておくと、他の人が動かしやすくなります。

6-3. 友人・チームメンバーに見てもらう方法

友人やチームメンバーに見てもらう場合は、リポジトリURLとあわせて、見てほしいポイントを伝えるとよいです。

たとえば、次のように伝えると相手が確認しやすくなります。

C#で作ったTodo管理のコンソールアプリです。
READMEに実行方法を書いています。
特にProgram.csの入力処理と、タスク追加機能を見てもらえると助かります。

単にURLだけを送るよりも、目的や確認してほしい点を書いた方が、フィードバックをもらいやすくなります。

6-4. Privateリポジトリに共同編集者を招待する方法

Privateリポジトリを共有したい場合は、相手を共同編集者として招待します。

GitHubのリポジトリページでSettingsを開き、CollaboratorsまたはAccess関連の設定から相手のGitHubユーザー名やメールアドレスを指定して招待します。

相手が招待を承認すると、Privateリポジトリを閲覧したり、権限に応じて編集したりできるようになります。

チーム開発では、むやみに全員へ強い権限を与えるのではなく、必要な範囲の権限を設定することが大切です。

6-5. Issues・Pull Requestを使ったチーム開発の基本

GitHubでは、IssuesとPull Requestを使ってチーム開発を進められます。

Issuesは、やること、バグ、改善案などを管理するための機能です。たとえば、「入力値チェックを追加する」「READMEを修正する」「計算結果がずれる不具合を直す」といったタスクを登録できます。

Pull Requestは、ブランチで行った変更をmainブランチなどに取り込むための提案です。レビューを受けてからマージすることで、コードの品質を保ちやすくなります。

C#プロジェクトでも、機能追加ごとにブランチを作成し、Pull Requestで確認してからmainに反映する流れを覚えると、実務に近い開発スタイルを学べます。

6-6. ポートフォリオとしてGitHubを見せるときのポイント

GitHubをポートフォリオとして見せる場合は、ただコードを置くだけではなく、見やすさを意識しましょう。

まず、READMEを丁寧に書きます。どんな課題を解決するアプリなのか、どの技術を使ったのか、どの部分を工夫したのかを説明します。

次に、動作画面のスクリーンショットを載せます。コンソールアプリでも、実行結果の画像があるとイメージが伝わりやすくなります。

また、コミット履歴も見られる可能性があります。小さく継続的にコミットしていると、開発の流れが伝わります。

C# GitHubポートフォリオでは、「完成物」だけでなく、「どのように考えて作ったか」が伝わることが大切です。

7. GitHubからC#プロジェクトを取得して動かす方法

GitHubは、自分のC#プロジェクトを公開するだけでなく、他の人のプロジェクトを取得して学ぶためにも使えます。ここでは、GitHub上のC#プロジェクトをローカルに取得して実行する方法を解説します。

7-1. リポジトリをcloneする

GitHub上のリポジトリを自分のパソコンにコピーすることをcloneといいます。

コマンドラインでcloneする場合は、次のようにします。

Bash
git clone https://github.com/ユーザー名/リポジトリ名.git

実行すると、現在のフォルダにリポジトリ名のフォルダが作成され、その中にC#プロジェクトのファイルが取得されます。

Visual Studioからcloneする場合は、スタート画面の「リポジトリのクローン」を選択し、GitHubのURLを入力します。

7-2. Visual StudioでGitHub上のC#プロジェクトを開く

cloneしたC#プロジェクトをVisual Studioで開く場合は、基本的に.slnファイルを開きます。

.slnファイルはソリューションファイルで、複数のC#プロジェクトをまとめて開くためのファイルです。GitHubから取得したフォルダの中に.slnがある場合は、それをダブルクリックするか、Visual Studioの「開く」から選択します。

.slnがない場合は、.csprojファイルを開くこともできます。ただし、複数プロジェクト構成の場合は、.slnを開く方が安全です。

7-3. .slnファイルと.csprojファイルの見分け方

C#プロジェクトでは、.sln.csprojの違いを理解しておくと便利です。

.slnはソリューションファイルです。Visual Studioで全体を開くためのファイルで、複数のプロジェクトをまとめて管理できます。

.csprojはC#プロジェクトファイルです。使用する.NETのバージョン、参照するパッケージ、ビルド設定などが書かれています。

GitHubからC#プロジェクトを取得したときは、まず.slnを探します。見つからなければ.csprojを開きます。

7-4. NuGetパッケージを復元する

C#プロジェクトでは、外部ライブラリをNuGetパッケージとして利用することがあります。

GitHubには通常、パッケージ本体は含めず、.csprojに必要なパッケージ情報を記録します。そのため、clone後にNuGetパッケージの復元が必要になる場合があります。

Visual Studioでは、プロジェクトを開いたときに自動で復元されることが多いです。手動で行う場合は、「NuGetパッケージの復元」を選択します。

コマンドラインでは、次のコマンドを使います。

Bash
dotnet restore

復元が完了したら、ビルドと実行を試します。

Bash
dotnet build
dotnet run

7-5. 他人のC#プロジェクトが動かないときの確認ポイント

GitHubから取得したC#プロジェクトが動かない場合は、いくつかのポイントを確認します。

まず、必要な.NET SDKがインストールされているか確認します。プロジェクトが特定の.NETバージョンを必要としている場合、自分の環境にそのバージョンがないと動かないことがあります。

次に、NuGetパッケージが復元されているか確認します。dotnet restoreを実行してから再度ビルドしてみましょう。

また、設定ファイルが不足している場合もあります。特にWebアプリでは、appsettings.Development.jsonや環境変数の設定が必要なことがあります。

READMEに実行方法が書かれていないか確認し、それでも動かない場合は、Issuesで質問するのも一つの方法です。

8. C#×GitHubでよくあるエラーと解決策

C#プロジェクトをGitHubで扱っていると、初心者がつまずきやすいエラーがいくつかあります。ここでは、よくあるトラブルと基本的な対処法を紹介します。

8-1. pushできない・認証エラーが出る

GitHubへpushしようとして認証エラーが出る場合、ユーザー名や認証方法に問題があることがあります。

現在は、パスワードをそのまま使ってHTTPSでpushする方法ではなく、Personal Access TokenやGitHub CLI、Visual Studioのサインイン機能などを使うケースが一般的です。

Visual Studioを使っている場合は、GitHubアカウントに正しくサインインできているか確認します。コマンドラインの場合は、リモートURLや認証情報を確認します。

Bash
git remote -v

認証情報が古い場合は、資格情報マネージャーから古いGitHub情報を削除し、再度ログインすると解決することがあります。

8-2. リポジトリに不要なbin・objフォルダを入れてしまった

C#プロジェクトでよくあるミスが、binobjフォルダをGitHubに入れてしまうことです。

これらはビルド時に自動生成されるため、通常はGitで管理しません。

まず、.gitignoreに次の内容を追加します。

gitignore
bin/
obj/

すでにGitに登録されている場合、.gitignoreに書いただけでは削除されません。Gitの管理対象から外す必要があります。

Bash
git rm -r --cached bin obj
git commit -m "Remove bin and obj folders"
git push

これで、リポジトリから不要なフォルダを外せます。

8-3. .gitignoreが反映されない

.gitignoreに書いたのにファイルが無視されない場合、そのファイルがすでにGitに登録されている可能性があります。

.gitignoreは、まだGitで管理されていないファイルを無視するための設定です。すでにコミット済みのファイルには自動では反映されません。

管理対象から外すには、次のようにします。

Bash
git rm --cached ファイル名

フォルダごと外す場合は、次のようにします。

Bash
git rm -r --cached フォルダ名

その後、コミットしてpushします。

Bash
git commit -m "Update gitignore settings"
git push

8-4. Visual StudioでGitHubに接続できない

Visual StudioでGitHubに接続できない場合は、まずサインイン状態を確認します。

Visual Studioのアカウント設定からGitHubアカウントにログインし直すと解決する場合があります。また、Visual Studio自体が古い場合、GitHub連携がうまく動かないこともあるため、アップデートを確認しましょう。

それでも解決しない場合は、コマンドラインでGitHubにpushできるか試すと、問題の切り分けができます。

Bash
git status
git remote -v
git push

Visual Studioの問題なのか、Gitの設定や認証の問題なのかを分けて考えることが大切です。

8-5. 競合が発生したときの基本的な直し方

競合とは、同じファイルの同じ部分を複数人が変更した場合などに、Gitが自動で統合できない状態です。

競合が発生すると、ファイル内に次のような印が入ることがあります。

<<<<<<< HEAD
自分の変更
=======
相手の変更
>>>>>>> branch-name

この部分を確認し、どちらの変更を残すか、または両方を組み合わせるかを決めます。修正したら、競合マーカーを削除し、ファイルを保存します。

その後、次のようにコミットします。

Bash
git add .
git commit -m "Resolve merge conflict"

競合は最初は難しく感じますが、内容を落ち着いて見れば、どの変更を採用するか判断できます。

8-6. GitHubに公開したくない情報をコミットしてしまったときの対応

パスワード、APIキー、アクセストークンなどを誤ってGitHubに公開してしまった場合は、すぐに対応が必要です。

まず、その秘密情報を無効化または再発行します。Gitの履歴から削除しても、一度公開された情報は誰かに見られている可能性があるため、使い続けるのは危険です。

次に、該当ファイルを削除または修正し、.gitignoreに追加します。

Bash
git rm --cached appsettings.json

その後、コミットしてpushします。

ただし、これだけでは過去の履歴には残っている場合があります。完全に履歴から削除したい場合は、履歴を書き換える専用の手順が必要です。初心者の場合は、まず秘密情報を無効化することを最優先にしましょう。

9. 初心者が覚えておきたいGitHub活用のコツ

C#プロジェクトをGitHubで管理するだけなら、基本操作を覚えれば十分です。ただし、より見やすく、実務に近い形で使うには、いくつかのコツがあります。

9-1. 小さくコミットする習慣をつける

GitHubを上手に使うには、小さくコミットする習慣が大切です。

一度に大量の変更をコミットすると、後から何を変更したのかわかりにくくなります。バグが発生したときにも原因を探しにくくなります。

たとえば、C#プロジェクトで機能を追加する場合は、「入力処理を追加」「計算処理を追加」「READMEを更新」のように分けてコミットすると管理しやすくなります。

小さくコミットすることで、Gitの履歴が開発メモのように使えるようになります。

9-2. README・ライセンス・スクリーンショットを整える

GitHubで見やすいC#プロジェクトにするには、READMEだけでなく、ライセンスやスクリーンショットも整えると効果的です。

READMEには、概要、機能、使用技術、実行方法を書きます。ライセンスを設定すると、他の人がそのコードをどのように利用できるかが明確になります。

スクリーンショットは、アプリの内容を直感的に伝えるために役立ちます。WindowsアプリやWebアプリなら画面画像、コンソールアプリなら実行結果の画像を載せるとよいでしょう。

ポートフォリオとして使う場合は、「見た人がすぐ理解できるか」を基準に整えることが大切です。

9-3. C#プロジェクトにおすすめの.gitignore設定

C#プロジェクトでは、Visual Studio用の.gitignoreを使うのがおすすめです。

最低限、次のような設定を入れておくと安心です。

gitignore
# Build results
bin/
obj/

# Visual Studio
.vs/
*.user
*.suo

# Rider
.idea/

# Logs
*.log

# OS files
.DS_Store
Thumbs.db

プロジェクトによっては、環境ごとの設定ファイルも除外します。

gitignore
appsettings.Development.json
.env

ただし、設定例を共有したい場合は、秘密情報を含まないappsettings.example.jsonのようなファイルを用意すると親切です。

9-4. GitHub Actionsでビルド確認を自動化する基本

GitHub Actionsを使うと、pushやPull RequestのタイミングでC#プロジェクトのビルドやテストを自動実行できます。

たとえば、.github/workflows/dotnet.ymlを作成して、次のような設定を書きます。

YAML
name: .NET Build

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x

- name: Restore dependencies
run: dotnet restore

- name: Build
run: dotnet build --no-restore

これにより、GitHub上で自動的にビルド確認が行われます。C#プロジェクトをポートフォリオとして見せる場合も、ビルドが通っていることがわかると信頼感が高まります。

9-5. C#の学習記録や制作物をGitHubで管理する方法

C#学習中の人は、GitHubを学習記録として使うのもおすすめです。

たとえば、次のようにリポジトリを分けられます。

csharp-basic-practice
csharp-console-apps
csharp-oop-practice
csharp-aspnet-sample
csharp-portfolio-app

学習した内容ごとにREADMEを書いておくと、自分の復習にもなります。

また、コミット履歴が残ることで、いつ何を学んだのかがわかります。最初は簡単なコードでも問題ありません。継続して記録することで、成長の過程をGitHub上に残せます。

C# GitHub活用では、完璧なプロジェクトだけを載せる必要はありません。学習の過程や改善の履歴も、大切なアウトプットになります。

まとめ

C#プロジェクトをGitHubで管理・公開・共有できるようになると、学習効率も開発のしやすさも大きく向上します。

基本の流れは、Visual StudioでC#プロジェクトを作成し、Gitで変更履歴を管理し、GitHubにpushして公開することです。最初はコンソールアプリのような小さなプロジェクトから始めると、全体像を理解しやすくなります。

また、GitHubに公開するときは、.gitignoreで不要なファイルを除外し、READMEで概要や実行方法をわかりやすく書くことが大切です。binobj、秘密情報を誤って公開しないように注意しましょう。

C#とGitHubを組み合わせて使えるようになると、学習記録、チーム開発、ポートフォリオ作成、コード共有など、さまざまな場面で役立ちます。まずは小さなC#プロジェクトを1つ作成し、GitHubに公開するところから始めてみましょう。