第4章:ファイルのアップロードと管理

学習目標

この章を読み終える頃には、GitHubのWeb画面を使ってファイルの追加、編集、削除ができるようになります。また、「commit(コミット)」という重要な概念を理解し、変更履歴を適切に記録できるようになります。


4.1 Web画面でのファイル追加・編集・削除

まずは自分のリポジトリを開こう

リポジトリ構造

前章で作成したリポジトリを開いてみましょう。GitHubにログインした状態で、画面右上のプロフィールアイコンをクリックし、「Your repositories」を選択すると、あなたのリポジトリ一覧が表示されます。

作成したリポジトリをクリックすると、そのリポジトリの画面が開きます。README.mdファイルを作成していれば、そのファイルが1つ表示されているはずです。

この画面が、あなたの「作業場」になります。ここから、ファイルの追加、編集、削除といったすべての基本操作を行うことができます。

ファイルを追加する方法

WebUI操作フロー

新しいファイルを追加するには、「Add file」という緑色のボタンを探してください。このボタンをクリックすると、以下の選択肢が表示されます:

「Create new file」 新しいファイルを一から作成します。テキストファイル、HTMLファイル、CSSファイルなど、どんな種類のファイルでも作成できます。

「Upload files」 すでにあなたのPC上にあるファイルをアップロードします。画像、文書ファイル、プログラムファイルなど、あらゆる種類のファイルをアップロードできます。

方法1:ドラッグ&ドロップでアップロード

最も簡単な方法は、ドラッグ&ドロップです:

  1. 「Upload files」をクリック
  2. PCのエクスプローラー(WindowsやMac)から、アップロードしたいファイルを選択
  3. そのままブラウザの画面にドラッグして、指定された領域にドロップ

対応しているファイル形式:

  • テキストファイル(.txt、.html、.css、.js など)
  • 画像ファイル(.jpg、.png、.gif、.svg など)
  • 文書ファイル(.pdf、.docx など)
  • 圧縮ファイル(.zip、.tar など)

ファイルサイズの制限:

  • 1つのファイルは100MBまで
  • 大きな画像や動画ファイルの場合は、事前に圧縮することをお勧めします

ファイルをドロップすると、アップロードの進行状況が表示されます。完了すると、「Commit changes」という画面が表示されます。これは「この変更を記録として残しますか?」という確認画面です。詳しくは4.2節で説明します。

方法2:新しいファイルを直接作成

ファイル作成編集画面

「Create new file」を選択すると、ブラウザ上でファイルを編集できる画面が開きます:

ファイル名の入力 上部の入力欄にファイル名を入力します。拡張子も忘れずに入力してください(例:index.html、style.css、script.js)。

エディタ画面 メイン部分には、テキストエディタが表示されます。ここにファイルの内容を入力していきます。

プレビュー機能 MarkdownファイルやHTMLファイルの場合、「Preview」タブをクリックすることで、実際の表示を確認できます。

ファイルを編集する方法

既存のファイルを編集するには:

  1. ファイル一覧から、編集したいファイル名をクリック
  2. ファイルの内容が表示されたら、右上の鉛筆アイコン(Edit this file)をクリック
  3. エディタ画面で内容を修正
  4. 修正完了後、下にスクロールして「Commit changes」で保存

Web エディタの便利機能:

  • 行番号表示:コードの特定の行を指定しやすい
  • シンタックスハイライト:プログラムコードが色分けされて見やすくなる
  • 検索・置換:Ctrl+F(Windows)またはCmd+F(Mac)で文字列検索
  • タブとスペース変換:インデントの統一が簡単

ファイルを削除する方法

不要になったファイルを削除するには:

  1. 削除したいファイルを開く
  2. 右上のゴミ箱アイコン(Delete this file)をクリック
  3. 確認画面で削除理由を入力(任意)
  4. 「Commit changes」で削除を確定

重要な注意点: ファイルを削除しても、GitHubの履歴には残り続けます。つまり、間違って削除してしまった場合でも、後から復元することが可能です。これがGitHubの大きな安心要素の一つです。

ファイル履歴表示

ファイルの変更履歴を確認することで、「いつ、誰が、何を変更したか」を詳細に追跡できます。

よくある失敗と対処法

「ファイル名を間違えた」 → ファイルを開いて編集画面に入り、上部のファイル名部分を変更できます。

「間違った内容をアップロードしてしまった」 → 同じ名前のファイルを再度アップロードすれば、自動的に置き換わります。

「アップロードに失敗する」 → ファイルサイズが大きすぎる可能性があります。100MB以下になるよう圧縮してみてください。

「日本語ファイル名が文字化けする」 → ファイル名には英数字とハイフン(-)、アンダースコア(_)を使用することをお勧めします。


4.2 commit(保存)の概念と実践

「保存」と「commit」の違い

Git基本操作

普通のテキストエディタやWordでは、Ctrl+Sを押すと「上書き保存」されます。新しい内容で古い内容が置き換わり、変更前の状態は失われてしまいます。

GitHubの「commit」は、この「保存」とは全く異なります:

通常の保存

  • 新しい内容で古い内容を上書き
  • 変更前の状態は失われる
  • いつ、なぜ変更したかの記録は残らない

GitHubのcommit

  • 変更前と変更後の両方を記録として保持
  • いつでも過去の任意の時点に戻れる
  • 変更理由も一緒に記録できる
  • 変更履歴をタイムラインとして閲覧可能

つまり、commitは「変更の記録を作成する」行為です。「この時点でのプロジェクトの状態を、記録として残しておこう」という意味です。

commitを作成する実際の手順

コミット作成プロセス

ファイルを作成・編集・削除した後、画面の下部に「Commit changes」というセクションが表示されます。ここでcommitを作成します:

1. 変更内容の確認 画面には、あなたが行った変更の詳細が表示されます:

  • 緑色の行:追加された内容
  • 赤色の行:削除された内容
  • 黄色の行:修正された内容

これらの表示を「diff(差分)」と呼びます。間違いがないか、必ず確認してください。

2. commitメッセージの入力

最も重要なのが、「commitメッセージ」の入力です。これは「なぜこの変更を行ったか」を説明する短い文章です。

メッセージ入力欄の構成:

  • タイトル欄(必須):変更内容を1行で要約(50文字以内推奨)
  • 詳細説明欄(任意):必要に応じて詳しい説明を記入

3. commitの実行 「Commit changes」ボタンをクリックすると、commitが作成されます。

commit作成後、リポジトリの画面に戻ると、ファイル一覧の上部に「○○ commits」という表示が現れます。これをクリックすると、これまでのcommit履歴を一覧で見ることができます。

commitのタイミング

いつcommitすれば良いのか? 初心者の方からよく受ける質問です。明確なルールはありませんが、以下のようなタイミングが適切です:

機能や修正が一区切りついた時

  • 「ヘッダーのデザインを修正した」
  • 「お問い合わせフォームを追加した」
  • 「バグを1つ修正した」

1日の作業終了時

  • 「今日はここまで進んだ」という記録として

実験前のバックアップとして

  • 「これから大きな変更を試すので、現在の状態を記録しておこう」

頻度の目安:

  • 最低でも1日1回
  • 慣れてくると、30分〜1時間に1回程度
  • 重要な変更の前後は必ず

commitが失敗する場合

よくあるエラーと対処法:

「Commit message is required」 → commitメッセージを入力していません。タイトル欄に変更内容を入力してください。

「Nothing to commit」 → 何も変更されていない状態でcommitしようとしています。何かファイルを変更してからcommitしてください。

「File too large」 → 大きすぎるファイルを追加しようとしています。ファイルサイズを小さくするか、そのファイルを除外してcommitしてください。


4.3 commitメッセージの書き方とコツ

分かりやすいcommitメッセージの構成要素

commitメッセージは、将来の自分や他の人が「この変更は何のためだったか」を理解するための重要な記録です。分かりやすいメッセージを書くコツをご紹介します。

良いcommitメッセージの特徴:

  • 何を変更したかが明確
  • なぜ変更したかが分かる
  • 50文字以内で簡潔
  • 動詞で始まる(「追加」「修正」「削除」など)

例:良いcommitメッセージ

  • 「ヘッダーナビゲーションの色をブルーに変更」
  • 「お問い合わせフォームのバリデーション機能を追加」
  • 「IEでレイアウトが崩れる問題を修正」
  • 「商品一覧ページの読み込み速度を改善」

例:悪いcommitメッセージ

  • 「修正」(何を修正したか不明)
  • 「test」(テストの内容が不明)
  • 「あああ」(意味が全く分からない)
  • 「昨日の続き」(具体的な内容が分からない)

ブランチでのファイル操作

ブランチファイル操作

ブランチ機能を使用することで、メインのコードに影響を与えることなく、安全に実験や新機能の開発を行えます。各ブランチでの変更は独立して管理され、必要に応じて統合できます。

マージ概念

日本語でのメッセージ作成法

GitHubのcommitメッセージは英語で書かれることも多いですが、日本語で書いても全く問題ありません。特に以下の場合は、日本語の方が良いでしょう:

日本語がお勧めの場面:

  • 個人プロジェクトや日本人チームでの開発
  • 学習目的のプロジェクト
  • 複雑な変更理由を詳しく説明したい場合

日本語commitメッセージのパターン:

修正系

  • 「○○の表示崩れを修正」
  • 「○○機能のバグを修正」
  • 「○○の誤字を修正」

追加系

  • 「○○ページを追加」
  • 「○○機能を追加」
  • 「○○のスタイルを追加」

変更系

  • 「○○のデザインを変更」
  • 「○○の処理方法を変更」
  • 「○○の設定を変更」

競合の解決方法

競合解決

複数の人が同時に同じファイルを編集すると、「競合(コンフリクト)」が発生することがあります。これはGitHubが「どちらの変更を採用すべきか」を判断できない状態です。適切な手順で解決することで、安全に変更を統合できます。

削除系

  • 「不要な○○を削除」
  • 「古い○○ファイルを削除」

詳細説明を活用する

タイトルだけでは説明しきれない場合は、詳細説明欄を活用しましょう:

例:詳細説明付きcommit

タイトル:スマートフォン表示の改善

詳細説明:
- ナビゲーションメニューをハンバーガーメニューに変更
- テーブルを横スクロール可能に修正
- フォントサイズを14pxから16pxに拡大
- これにより、スマートフォンでの操作性が大幅に向上

参考Issue: #12

詳細説明に含めると良い情報:

  • 変更した理由や背景
  • 影響を受ける機能や画面
  • 関連するIssueやPull Requestの番号
  • テスト結果や動作確認方法

commitメッセージの修正

「commitした後で、メッセージの間違いに気づいた」という場合もあります。GitHubのWeb画面からは直接修正できませんが、以下の方法があります:

対処法1:新しいcommitで修正 間違いが小さい場合は、「前のcommitメッセージの修正」というcommitを新たに作成する方法が簡単です。

対処法2:GitHub Desktopを使用 GitHub Desktopというアプリケーションを使うと、最新のcommitメッセージを修正できます(第5章で詳しく説明します)。


4.4 間違ったcommitを取り消す方法

Revert機能の使い方

「commitした変更を元に戻したい」という場面は、開発作業では珍しくありません。GitHubには、安全にcommitを取り消すための「Revert」機能があります。

Revert機能の特徴:

  • 過去のcommitを「無かったこと」にするのではなく、「その変更を打ち消す新しいcommit」を作成
  • 履歴は完全に保持されるため、安全
  • いつでも、どのcommitでも対象にできる

実際の取り消し手順

1. commit履歴を表示 リポジトリ画面の「○○ commits」をクリックして、commit履歴の一覧を表示します。

2. 取り消したいcommitを探す 取り消したいcommitをクリックして、その詳細画面を開きます。

3. Revertボタンをクリック commit詳細画面の右上にある「Revert」ボタンをクリックします。

4. Revert commitのメッセージを確認 「Revert “元のcommitメッセージ”」という形でメッセージが自動生成されます。必要に応じて修正してください。

5. Revert commitを作成 「Create revert」ボタンをクリックして、取り消しのcommitを作成します。

Revert後の状態確認

Revertが完了すると:

  • 取り消し対象の変更が元に戻る
  • 新しいcommitが1つ追加される(Revert commit)
  • 元のcommitは履歴に残り続ける

つまり、「変更を取り消した」という記録も、きちんと履歴として残ります。これにより、「なぜ取り消したのか」「いつ取り消したのか」も後から確認できます。

複数のcommitを取り消す場合

複数のcommitを一度に取り消したい場合は、以下のような手順になります:

ファイル履歴の表示

新しいcommitから順番に取り消す commitは新しいものから順番にRevertしていきます。古いcommitを先に取り消すと、コンフリクト(競合)が発生する可能性があります。

まとめて取り消すcommitを作成 個別にRevertするのではなく、手動で「複数の変更をまとめて取り消すcommit」を作成する方法もあります。

取り消し操作の注意点

Revert機能は安全ですが、以下の点に注意してください:

他の人と共同作業中の場合 自分以外の人が関わるcommitをRevertする前に、チームメンバーに相談することをお勧めします。

依存関係がある変更 あるcommitが、他のcommitに依存している場合、Revertによって新たな問題が発生する可能性があります。

テストやバックアップ 重要なプロジェクトの場合は、Revertする前に現在の状態をバックアップしておくと安心です。

よくある質問

Q: Revertしたcommitを、さらにRevertできますか? A: はい、可能です。Revertした変更を再度有効にしたい場合は、RevertのcommitをRevertしてください。

Q: 古いcommitだけをピンポイントでRevertできますか? A: 可能ですが、その後のcommitで同じ部分が変更されている場合、コンフリクトが発生する可能性があります。

コンフリクト解決方法

Q: Web画面以外でRevertする方法はありますか? A: はい、GitHub DesktopやGitコマンドを使用しても同様の操作が可能です。


まとめ

この章では、GitHubのWeb画面でのファイル管理の基本操作を学びました:

ファイル操作の基本

  • ドラッグ&ドロップでの簡単アップロード
  • Web エディタでの直接編集
  • 安全な削除方法

commitの概念

  • 単なる「保存」ではなく「変更の記録」
  • 履歴として蓄積され、いつでも過去に戻れる
  • commitメッセージで変更理由を記録

commitメッセージの書き方

  • 50文字以内で簡潔に
  • 何を変更したかを明確に
  • 日本語で書いても問題なし

安全な取り消し方法

  • Revert機能で履歴を保持したまま変更を無効化
  • 過去のどの時点にも安全に戻れる

次の章では、GitHub Desktopアプリを使ったローカル環境での作業方法を学び、より効率的な開発ワークフローを身につけます。

理解度確認: □ GitHubでファイルの追加・編集・削除ができる
□ commitの概念を理解し、適切なタイミングでcommitできる
□ 分かりやすいcommitメッセージを書ける
□ 間違ったcommitを安全に取り消せる
□ Web エディタの基本機能を活用できる