Git・GitHub・GitHubにあげる

GitHubに置く——アカウント作成からpushまで

手元のコミットをGitHubへ送るまでの流れを、アカウント作成・リポジトリ作成・リモート登録・pushの順に通しで解説。つまずきやすい認証(パスワードが通らない問題)の解決法もまとめました。

手元のコミットは、そのままではパソコンの中だけにあります。GitHubに送ればバックアップになり、他の人にも見せられるようになります。ここまで来ればGitのひと通りは完了です。

1. GitHubのアカウントを作る

GitHubのトップページからサインアップします。必要なのはメールアドレス・パスワード・ユーザー名の3つだけです。

ユーザー名はURL(github.com/ユーザー名)に出るので、そのまま名刺に載せられる名前にしておくと後で困りません。

GitHub

2. GitHubに置き場所(リポジトリ)を作る

画面右上のから「New repository」を選び、次を決めます。

項目何を入れるか
Repository name置き場所の名前。手元のフォルダと同じmy-siteが分かりやすい
Description何のリポジトリかの一言(省略可)
Public / Private誰でも見られる/自分だけ。学習用の作品ならPublicでOK
Add a README fileチェックしない(手元のフォルダを送る場合)

作成すると、次にやるコマンドが書かれた画面が出ます。ここに出るURLをこの後で使います。

3. 送り先を登録する:git remote add

手元のフォルダに「送り先はここ」と教えます。ターミナルで自分のプロジェクトのフォルダに移動して、次を打ちます。

git remote add origin https://github.com/ユーザー名/my-site.git

origin送り先の呼び名です。「いつもの送り先」くらいの意味で、Gitの世界での慣習的な名前になっています。URLの部分は、さきほどの画面に表示されたものをコピーして貼りつけてください。

登録できたか確認します。

git remote -v

登録したURLが表示されれば成功です。

4. 送る:git push

いよいよ送信です。最初の1回だけ-uを付けます。

git push -u origin main
  • origin——送り先の呼び名
  • main——送る枝(ブランチ)の名前
  • -u——「この枝の送り先はここ」と覚えさせる指定

送信が終わったら、GitHubのページを再読み込みしてみてください。自分のファイルが並んでいれば成功です。

2回目からは、覚えさせた設定が効くので短く打てます。

git push

認証でつまずいたら

pushのときにユーザー名とパスワードを聞かれ、正しいパスワードを入れているのに弾かれる——これはほぼ全員が通る道です。GitHubはセキュリティのため、アカウントのパスワードでのコマンド認証を廃止しました。

解決策は2つあります。

方法1:VSCodeにサインインする(おすすめ)

VSCodeのソース管理の画面からGitHubにサインインしておくと、認証をVSCodeが肩代わりしてくれます。ブラウザが開いて許可を押すだけなので、いちばん簡単です。

方法2:パーソナルアクセストークンを作る

GitHubのSettings → Developer settings → Personal access tokensから、パスワードの代わりになる文字列を発行します。pushでパスワードを聞かれたら、この文字列を貼りつけます

いつもの流れ

GitHubに置いたあとの日々の作業は、この形になります。

git add .
git commit -m "プロフィール文を書きかえた"
git push

記録して、送る。これだけです。

このレッスンのまとめ

  1. GitHubにリポジトリを作るときは、READMEを追加しない(履歴の食い違いを防ぐ)
  2. git remote add origin URLで送り先を登録し、初回はgit push -u origin main
  3. パスワードが通らないのは仕様。VSCodeでサインインするか、アクセストークンを発行する

よくある質問

GitHubにパスワードを入れても認証に失敗するのはなぜ?
GitHubはアカウントのパスワードでのコマンド認証を廃止しています。VSCodeのサインイン機能を使うか、パスワードの代わりにパーソナルアクセストークンを発行して入力します。
リポジトリはPublicとPrivateどちらにすべき?
学習用の作品ならPublicで問題ありません。誰にも見せたくない場合や、設定ファイルに個人情報が混ざる可能性があるならPrivateにします。あとから変更できます。
git push -u origin mainの-uは何ですか?
「このブランチの送り先はここ」と覚えさせる指定です。最初の1回だけ付ければ、次からはgit pushだけで同じ場所へ送れます。