GitHub Desktopを使う操作手順です。アプリのインストール、サインイン、Gitの名前とメールの設定は済んでいる想定です。
Gitは手元のPCで変更履歴を管理する道具、GitHubはそのファイルと履歴をネット上に置く共有先です。この資料では手元の場所をローカル、ネット上の共有先をリモートと呼びます。別のものですが、組み合わせて使えます。GitHub Desktopは両方をボタンで操作するPCアプリです。
GitHub DesktopでCurrent Repositoryの一覧を開き、Add → Create New Repository…を選びます。リポジトリが1つも無い初回は一覧が出ないので、Let's get started!の画面のCreate a New Repository on your Local Drive…から同じ画面を開きます。
Nameにmyprojectと入力します。これは例なので、任意のプロジェクト名に変えて構いません。Local PathのChoose…から、保存先となる親フォルダを選びます。その中にmyprojectという新しいフォルダが作られます。既存のmyprojectフォルダを選ぶ手順ではありません。
OneDrive・iCloud Drive・Dropboxなどで同期されるフォルダは選ばないでください。同期処理とGitのファイル更新が重なるのを避けるため、PC内の同期されていない場所を選びます。デスクトップや書類フォルダも同期対象になっている場合があるので、実際の設定を確認してください。
Initialize this repository with a READMEにチェックを入れます。Git ignoreとLicenseは、この例ではNoneのままで構いません。内容を確認してCreate Repositoryを押します。
選んだ親フォルダの中にmyprojectができ、README.mdと.gitなどが入ります。.gitはGitが履歴や設定を保存する隠しフォルダです。普段のファイル一覧に見えなくても、Gitが管理しています。設定により.gitattributesなども作られます。図は主な項目だけを示しています。
commitは、その時点の内容を履歴に残すことです。GitHub Desktopが初期化(init)を行い、READMEを含む最初の記録(Initial commit)も自動で作ります。Historyを開くと確認できます。手動でgit initや最初のcommitを追加する必要はありません。ここまでは手元PCだけの作業です。
作成したmyprojectを開いたまま、Publish repositoryを選びます。名前と公開先を確認し、Keep this code privateをオンにしてPublish Repositoryを押します。必要な準備はGitHub Desktopに任せられます。完了すると、手元のファイルと履歴がGitHubにも置かれます。
View on GitHubで開くと、READMEとInitial commitが確認できます。ここでできるURLはファイルと履歴の管理ページで、利用者向けのアプリ公開URLとは別です。
GitHub DesktopのRepository → Show in Finder(WindowsではShow in Explorer)でmyprojectを開きます。READMEを残したまま、エディタでmypage.htmlを作って保存します。例えば次の内容で十分です。
<!doctype html> <html lang="ja"> <meta charset="utf-8"> <title>お知らせ</title> <h1>お知らせ</h1> </html>
Changesでmypage.htmlにチェックを入れます。Summaryに「mypage.htmlを追加」と入力し、Commit 1 file to mainを押します(ボタンには選んだファイルの数が付きます)。mainはブランチという作業の流れの名前で、この例では作成時から選ばれています。別の名前を使う設定では、ボタンの末尾もその名前になります。
チェックで対象を選び、commitで履歴を確定します。ファイルは移動せず、.gitの中に2つ目の記録が残ります。パスワードやAPIキーは含めません。
Push originを押して、追加した記録を同じGitHub共有先へ送ります。originは送り先の名前です。共有先はすでにあるため、Publishをやり直す必要はありません。
View on GitHubで、README.mdとmypage.htmlが並ぶことを確認します。Commitsには「mypage.htmlを追加」と「Initial commit」が新しい順に並びます。次の修正も、編集・commit・pushの順です。接続していても自動同期ではありません。
.gitの中の表示は履歴のイメージです。Gitは内容を再現するためのデータや作成者・日時・説明を管理します。実際には内容の選択時からデータが保存され、commitでそれらを参照する履歴を確定します。毎回フォルダを丸ごと複製するという意味ではありません。