GitHub Desktop + WinForms 開発チュートリアル

以下では、「WinForms アプリを新規作成 → GitHub Desktop でローカルリポジトリを初期化 → GitHub にパブリッシュ → チーム全員で開発を進める」 という一連の流れを、具体的なタスクを含むチュートリアル形式でまとめています。
3 名のメンバー (A, B, C) で役割を分担しながら、Git の基本的なフロー(ブランチ作成 → コミット → プッシュ → プルリクエスト → マージ → コンフリクト対応)を体験してみましょう。

0. 準備

  • GitHub アカウント: 各メンバーが GitHub アカウントを作成しておきます。
  • GitHub Desktop: GitHub Desktop をインストール。
  • Visual Studio: WinForms アプリ開発用。

1. リポジトリ初期化(リーダーが担当)

以下ではリーダー (Member A) が、ローカルで WinForms プロジェクトを作成→GitHub Desktop でドラッグ&ドロップ→GitHub に公開する流れを行います。

1-1. Visual Studio で WinForms プロジェクトを新規作成

  1. Visual Studio を起動 → 「新しいプロジェクトの作成」。
  2. Windows フォーム アプリ (.NET)」または「Windows フォーム アプリ (.NET Framework)」を選択。
  3. プロジェクト名を WinFormsTutorialSampleApp(例)にし、保存先を分かりやすいフォルダに指定。
  4. Form1 にボタンを 1 つ配置し、クリック時にメッセージを表示する程度のコードを試しに書く。
   private void button1_Click(object sender, EventArgs e)
   {
       MessageBox.Show("Hello, WinForms!");
   }
  1. ビルド&実行して動作確認 → 問題なければ終了。

1-2. GitHub Desktop でローカルリポジトリを初期化(ドラッグ&ドロップ)

  1. GitHub Desktop を起動。
  2. 作成した WinForms プロジェクトのフォルダ.sln.csproj があるフォルダ)を、GitHub Desktop ウィンドウに ドラッグ&ドロップ
  3. 「This directory does not appear to be a Git repository.~Create a repository?」と出るので「Create a repository」をクリック。
  4. 「Name」や .gitignore 設定を確認(.gitignoreVisualStudio が便利)。
  5. Create Repository」でローカルリポジトリを作成。

1-3. 初回コミット & GitHub への Publish

1, 2 は上記で自動実行済み

  1. GitHub Desktop 左側「Changes」に変更が一覧表示される。
  2. Summary」欄にメッセージ(例:Initial commit - Create WinForms project)を入力 → 「Commit to main」。
  3. 画面右上の「Publish repository」ボタンをクリック。
  4. 「Name」や「Keep this code private」(チェックを外し、パブリックに)を設定し、「Publish Repository」。
  5. GitHub 上に新しいリポジトリが自動作成され、初期コミットがプッシュされる。
  6. Web ブラウザで GitHub を開き、リポジトリが作られているか確認する(リーダーのみ)。

2. 他メンバーがリポジトリをクローン(Open with GitHub Desktop 版)

2-1. GitHub ページにアクセス

  • Member B, Member C は、リーダーが公開したリポジトリの GitHub ページを開きます。
    例: https://github.com/LeaderAccount/WinFormsTutorialSampleApp (公開URL)

2-2. 「Code」→「Open with GitHub Desktop」をクリック

  1. リポジトリページの Code ボタン (緑色) を押す。
  2. Open with GitHub Desktop」を選択 (もし「Open with GitHub Desktop」のボタンが見えない場合、メニューの中に同等のリンクがあるはず)。
  3. ブラウザが x-github-desktop://openRepo/~~ のリンクを開こうとすると、Windows が「GitHub Desktop で開きますか?」など聞いてくる場合があるので「許可」または「OK」する。

2-3. GitHub Desktop で保存先を指定して Clone

  1. GitHub Desktop が自動的に起動 (または切り替わる) し、リポジトリの Clone ダイアログが表示されます。
  2. ローカルで保存したいフォルダを選択し、「Clone」ボタンを押します。
  3. これでリポジトリのクローンが完了。各メンバーが同じソースを扱えるようになります。

3. 各メンバーでの開発フロー(例)

ここからは各メンバーが小さな機能追加をブランチで行い、プルリクエスト→レビュー→マージを体験します。

3-1. 新機能や修正ごとのブランチ作成

  • GitHub Desktop 上部「Current branch」→「New branch」
  • ブランチ名:feature/exit-button, feature/reset-button など機能名が分かるように。

3-2. 変更 → コミット & プッシュ

  1. Visual Studio でソリューションを開いて変更を加える
  2. GitHub Desktop の「Changes」タブで変更を確認
  3. Summary にメッセージ → 「Commit to [ブランチ名]」
  4. 「Push origin」でリモートにブランチを反映

3-3. プルリクエスト (PR) 作成 → レビュー → マージ

  1. GitHub Desktop 右上または GitHub Web 上で「Create Pull Request」(または「Compare & pull request」)
  2. タイトルや説明を記入し、「Create pull request」
  3. 他のメンバーがコード差分を確認 → 問題なければ「Approve」
  4. 「Merge pull request」→「Confirm merge」で main に取り込み完了
  5. マージ後は不要になったブランチを削除し、次の作業は新しいブランチを作る

4. 例:具体的なタスク分担

  • Member A: 「Exit ボタン」を追加(feature/exit-button
  • Member B: 「Reset ボタン」を追加(feature/reset-button
  • Member C: 「現在時刻表示のラベル」を追加(feature/display-time

マージ後の最新 main を各自Pullし、不要ブランチは削除 → 新規ブランチで次の作業へ、という練習を繰り返します。


5. 他の人が先にマージした場合の対応

  • 同じ箇所を変更している場合、コンフリクト が出る可能性があります。
  • 必要に応じてローカル main を Pull → 作業中ブランチへマージ し、早めに競合を解消しましょう。
  • ブランチがマージ済みなら削除し、次の作業は新たなブランチを main から切るのが基本です。

6. まとめ

  1. リーダーが WinForms プロジェクトを作成 & ローカルリポジトリ化 → Publish
    • ドラッグ&ドロップ → Create Repository → Publish で GitHub に公開。
  2. 他のメンバーは GitHub ページから「Open with GitHub Desktop」
    • ダイアログで保存先を決めて Clone。
  3. ブランチ運用
    • 機能追加や修正ごとにブランチを作り、コミット & プッシュ。
    • プルリクエストを作成→レビュー→マージ→ブランチ削除。
  4. コンフリクト回避・解消
    • git頻繁に Pull し、ブランチが衝突しそうなら早めに main を取り込んでコンフリクトを解消。

この一連の流れを繰り返していくと、Git/GitHub を使ったチーム開発に自然と慣れることができます。
WinForms の機能はシンプルでも構いません。まずは「コミット → プッシュ → プルリク → マージ」の流れを身につけましょう。