GitとGitHubの連携とpushまでの手順・運用フローのメモ

GitとGitHubの連携手順および日常運用フローをまとめた備忘録記事のサムネイル画像

こんにちは。いっきー(@ikirin_web)です。

今回は、既存のプロジェクトにGitを導入してGitHubへpushするまでの手順をまとめます。

事故をきっかけにその日のうちに導入した際の備忘録です。事故の経緯は別の記事に書いています。

VS Codeでファイルが消えた話|ローカル履歴機能に救われました

前提条件

この手順は以下の状態を想定しています。

  • Gitがターミナルに入っている
  • GitHubアカウントを持っている
  • 既存のプロジェクトフォルダがある

プロジェクトにGitを設定する

git init と .gitignoreの作成

1つ1つのコマンドをターミナルで実行していきます。私は、VS Codeに内蔵されているターミナルを使用しました。

① 作業フォルダに移動する


cd 作業フォルダのパス

② Gitを初期化する


git init

③ .gitignoreを作成して管理対象外のファイルを指定する


echo "node_modules/" > .gitignore
echo ".DS_Store" >> .gitignore

.gitignoreには、Gitで管理する必要のないファイルやフォルダを記載します。自分の環境に合わせて追記してください。

④ 変更ファイルをステージングエリアに移す


git add .

⑤ 最初のcommitを記録する


git commit -m "first commit"

ブランチ名をmainに統一する

git init後にこのような表示が出ることがあります。

hint: Names commonly chosen instead of ‘master’ are ‘main’, ‘trunk’ and ‘development’.

デフォルトはmasterになっているけれど、main・trunk・development等がありますよ、と親切に教えてくれています。

GitHubは2020年頃からデフォルトブランチ名をmainに変更していったんだそうです。

なので、ローカルも合わせておきましょう。


git branch -m main

上記のコマンドは、いま作ったブランチの名前をmainに変える操作です。

加えて、今後 git init するたびに自動で main になるよう、以下のコードを実行しておきます。

そうすると、パソコンを買い替えない限り main に設定できるので一度の手間で済みます。


git config --global init.defaultBranch main

これで既存プロジェクトをGit管理下におく設定の完了です。

次は、GitHubと連携をさせて自分のパソコンとWeb上の両方で管理できるようにしていきます。

GitHubとの連携(SSH鍵の設定)

ローカルのプロジェクトにGitを入れただけでは、万が一パソコンが壊れた時に復元ができません。GitHubと連携することでリモートにも履歴を残すことができます。

GitHubへの接続にはSSHを使います。そうすることで、一度の設定で毎回のパスワード入力が不要になります。

SSH鍵の生成

まず鍵があるか確認します。


ls -la ~/.ssh/


No such file or directory と出た場合は新規生成します。

以下、新規生成する場合にターミナルへ打ち込むコマンド


ssh-keygen -t ed25519 -C "GitHubに登録しているメールアドレス"

3つ質問されますが、すべてそのままEnterで問題ありません。

完了するとアスキーアートが表示されますが、これは鍵の指紋を視覚化したもので特に意味はないです。

公開鍵をGitHubに登録する

生成された鍵はペアになっています。

  • id_ed25519(秘密鍵)→ 自分のパソコン上に保管、絶対に外に出さない
  • id_ed25519.pub(公開鍵)→ GitHubに渡してOK

公開鍵をクリップボードにコピーします。cmd + C でもいいですし、以下のコマンドでもコピーが可能です。


pbcopy < ~/.ssh/id_ed25519.pub

GitHubへログイン後、 SettingsSSH and GPG keysNew SSH key を開き、コピーした内容を貼り付けて登録します。

接続確認

再びターミナルへ戻って以下のコマンドを実行します。


ssh -T git@github.com


Hi <ユーザー名>! You've successfully authenticated...
と出れば成功です。

これで、ローカルとGitHubの連携が完了しました。

リモートリポジトリへのpush

最後にローカルでGit管理しているプロジェクトをリモートへ反映していきます。

GitHubで以下の手順でリポジトリを作成します。

  1. 右上の「+」→「New repository」
  2. Repository name を入力(例:project-name)
  3. Description を入力(任意。例:コーディング練習用)
  4. 「Private」を選択
  5. Add README → Off
  6. Add .gitignore → No .gitignore
  7. Add license → No license
  8. 「Create repository」ボタンをクリック

Add README・.gitignore・licenseをオフにする理由
ローカルにすでにcommitがある状態でGitHub側にファイルが作られると、pushの際に衝突してエラーになります。

リポジトリが作成できたら、ターミナルで以下を実行します。

① リモートリポジトリを登録する


git remote add origin git@github.com:<ユーザー名>/<リポジトリ名>.git

② ローカルの履歴をGitHubに反映する


git push -u origin main

-uは、このローカルのmainブランチを、originのmainと紐付ける操作です。

GitとGitHubの連携とpushまでの手順・運用フローのメモ

-uを一度設定すると、2回目以降は以下の3ステップで反映できます。

1. 変更ファイルをステージングエリアに移す


git add .

git add . の「.」は全ファイルを対象にするという意味です。特定のファイルだけ対象にしたい場合は「.」の部分をファイル名に変えます。(例: git add ファイル名.scss)

2. commitを記録する


git commit -m "何をしたか"

3. GitHubに反映する


git push

導入後の日常的な運用フロー

導入が完了したら、以下の流れで日常の作業を回せます。

ブランチを切らない場合(シンプルな作業)


git checkout main
git pull

作業後は3ステップで反映します。


git add .
git commit -m "何をしたか"
git push

ブランチを切る場合(機能ごとに分けたい時)


git checkout main
git pull
git checkout -b feature/<作業名>

作業後は3ステップで反映します。


git add .
git commit -m "何をしたか"
git push -u origin feature/<作業名>

GitHubでPR作成 → マージ後、後片付けをします。


git checkout main
git pull
git branch -d feature/<作業名>
git fetch --prune

まとめ

今回やった手順をざっくり振り返るとこうなります。

  1. git init と.gitignoreを作成
  2. ブランチ名をmainに統一
  3. SSH鍵を生成してGitHubに登録
  4. GitHubでリポジトリを作成
  5. git pushでリモートに反映

上記の3〜5の手順で、GitとGitHubの連携が完了します!1と2に関しては、新規プロジェクトを立ち上げるときに1回だけ行うといいです。

コマンドが多くて覚えるのが大変ですが、これから新規プロジェクトを始めたら必ずGit管理していこうと思います。

最後まで読んでいただきありがとうございます。

参考記事

ページトップへ戻る