Skip to content

付録

VS Code で覚えた操作が、コマンドでは何に当たるかの一覧です。 検索して出てくる記事や生成 AI の回答はほとんどコマンドで書かれているので、この表が翻訳機になります。

やりたいこと VS Code コマンド
はじめる
リポジトリを作る ソース管理の「リポジトリを初期化する」 git init
既存のリポジトリを持ってくる コマンドパレットの「Git: クローン」 git clone <URL>
記録する
いまの状態を確認する ソース管理ビューを見る git status
変更内容を見る ファイル名をクリックする git diff
ステージする ファイル名右の + git add <ファイル>
すべてステージする 「変更」の見出し右の + git add .
ステージを取り消す ファイル名右の − git restore --staged <ファイル>
コミットする メッセージを入力して「コミット」 git commit -m "<メッセージ>"
直前のコミットを修正する … から「最後のコミットを修正」 git commit --amend
履歴を見る ソース管理の「グラフ」 git log --oneline --graph
共有する
GitHub に公開する 「Branch の発行」 git remote add origin <URL> と git push -u origin main
送る 「変更をプッシュ」 git push
受け取る 「変更をプル」 git pull
送受信をまとめて行う 「変更の同期」 git pull と git push
リモートを確認する — git remote -v
枝を分ける
ブランチを作って移動する 左下のブランチ名から「新しいブランチの作成」 git switch -c <ブランチ名>
ブランチを移動する 左下のブランチ名から選ぶ git switch <ブランチ名>
ブランチ一覧を見る 左下のブランチ名をクリックする git branch
マージする コマンドパレットの「Git: ブランチをマージ」 git merge <ブランチ名>
ブランチを削除する コマンドパレットの「Git: ブランチの削除」 git branch -d <ブランチ名>
戻す
編集を捨てる(コミット前) ファイル名右の ↺ git restore <ファイル>
過去の状態を見る 履歴からコミットを開く git show <コミット ID>
コミットを打ち消す GitHub の PR 画面の Revert git revert <コミット ID>

git switch は比較的新しいコマンドです。 古い記事では同じ用途に git checkout が使われています。 git checkout <ブランチ名> は git switch <ブランチ名> と同じ意味だと思って読んでください。

用語 読み ひとことで言うと
リポジトリ repository 履歴を含んだプロジェクトのフォルダ
コミット commit 変更を履歴に記録すること、または記録されたその1点
コミット ID — 各コミットに付く英数字の識別子。先頭7文字で通じる
ステージ staging area 次のコミットに含める変更を選んで置いておく場所
作業ツリー working tree いま編集しているファイルそのもの
差分 diff 何が増えて何が減ったかの表示。赤が削除、緑が追加
ブランチ branch 履歴の枝。並行して作業するための分岐
main メイン 既定のブランチ名。正式版という位置づけ。昔は master と呼ばれていた
HEAD ヘッド いまどのブランチのどこにいるかを指す矢印
マージ merge 枝を合流させること
コンフリクト conflict 同じ場所を別々に変更したため、Git が自動で合流できない状態
リモート remote GitHub など、ネット上に置いたリポジトリ
origin オリジン 既定のリモートの呼び名
push プッシュ 手元の履歴をリモートに送ること
pull プル リモートの履歴を手元に取り込むこと
fetch フェッチ リモートの状態を取ってくるだけ。ファイルには反映しない
clone クローン リモートのリポジトリを丸ごと手元に複製すること
Pull Request プルリクエスト この変更を取り込んでいいですかという提案と、議論の場
レビュー review PR の内容を他の人が確認してコメントすること
Issue イシュー やることと困りごとを記録して議論する場所
Organization オーガニゼーション チーム用のアカウント。リポジトリをチームの持ち物にできる
Owner オーナー リポジトリを作るとき、どこに作るかを選ぶ欄
.gitignore — 履歴に入れたくないファイルを指定する設定ファイル
commit --amend アメンド 直前のコミットをやり直すこと
revert リバート 過去の変更を打ち消す新しいコミットを作ること

英語のまま検索してもたどり着けるように、原文を見出しにしています。

名前とメールアドレスが未設定です。 0-3 の git config を実行してください。

Updates were rejected because the remote contains work that you do not have locally

Section titled “Updates were rejected because the remote contains work that you do not have locally”

GitHub 側が自分より進んでいます。 このまま push すると他の人の変更を消してしまうため、Git が止めています。 先に pull(「変更の同期」)してから push してください。

検索すると --force を勧める記事が出てきますが、他の人の作業を消すので使わないでください。

Automatic merge failed; fix conflicts and then commit the result.

Section titled “Automatic merge failed; fix conflicts and then commit the result.”

コンフリクトです。 Git がどちらを採用すべきか判断できませんでした。 5-4 の手順で解消してください。

Your local changes would be overwritten by checkout

Section titled “Your local changes would be overwritten by checkout”

未コミットの変更があるので、ブランチを切り替えられません。 コミットしてください。捨ててよいなら変更を破棄します。

そこは Git のリポジトリではありません(.git がありません)。 フォルダを間違えていないか確認してください。

remote: Permission to <repo> denied または 403

Section titled “remote: Permission to <repo> denied または 403”

そのリポジトリに書き込む権限がないか、別のアカウントで認証されています。 Organization に参加できているか、権限が Write になっているかを順に確認してください。 それでも直らない場合は、VS Code でサインアウトして再サインインします。

Support for password authentication was removed

Section titled “Support for password authentication was removed”

GitHub のパスワード認証は廃止されています。 VS Code の GitHub サインイン(0-5)を使ってください。 古い記事の手順に従わないでください。

error: pathspec '<branch>' did not match any file(s) known to git

Section titled “error: pathspec '<branch>' did not match any file(s) known to git”

その名前のブランチがありません。 名前の打ち間違いを確認してください。 リモートにしかないブランチなら、先に pull か fetch が必要です。

ブランチではなく、特定のコミットを直接見ている状態です。 慌てず git switch main を実行するか、VS Code でブランチを選び直してください。 作業していなければ、何も壊れていません。

Git に記録しなくていいファイルを列挙しておくファイルです。 リポジトリの直下に .gitignore という名前で置きます。

.gitignore
# 行頭が # の行はコメントになる
# ファイル名をそのまま書く
.DS_Store
Thumbs.db
# 拡張子で指定する
*.log
# 末尾に / を付けるとフォルダごと無視する
build/
# ! を付けた行は、無視の対象から外す
!important.log

行末にコメントを書くことはできません。 *.log ログファイル と書くと、その全体がファイル名の指定として扱われ、意図した動きになりません。

このゼミで入れてはいけないものは、大きく3種類です。

対象 理由
ビルド成果物(build/、*.uf2、*.elf) ソースから再生成できる。毎回変わるので差分が読めなくなる
ダウンリンクしたデータ(テレメトリのログ、撮影画像) 巨大。GitHub は1ファイル100 MB が上限で、リポジトリ全体でも1 GB 以内が推奨
API キーやパスワードを書いたファイル 漏洩する
  • GitHub Docs:公式のドキュメント(日本語あり)
  • GitHub Skills:手を動かして学ぶ公式のチュートリアル
  • Learn Git Branching:ブランチの動きを図で確かめられる練習サイト

困ったときは、エラーメッセージをそのまま検索するのが最短です。

付録F コピーして使うファイル雛形

Section titled “付録F コピーして使うファイル雛形”

リポジトリの表紙です。GitHub のトップページに自動で表示されます。

README.md
# プロジェクト名
## これは何か
(1行から2行で)
## 使い方
(動かし方、必要なもの)
## 連絡先

6-4 で使います。 何を無視するかの判断はチームで決めることなので、これは出発点としての例です。

.gitignore
# OS が作るファイル
.DS_Store
Thumbs.db
desktop.ini
# ビルド成果物(Pico SDK / CMake)
build/
*.uf2
*.elf
*.bin
*.hex
# Python
__pycache__/
*.pyc
.venv/
.ipynb_checkpoints/
# ダウンリンクしたデータとログ
logs/
data/raw/
*.fits
# 秘密情報
*.env
secret*
config.local.*

画像ファイルを *.png のようにまとめて無視すると、README に載せたい図も無視されます。 無視する場合は !docs/images/*.png のように例外を書いてください。

.github/PULL_REQUEST_TEMPLATE.md というファイルを置くと、PR を作るときにこの内容が本文欄に自動で入ります。 書くことが決まっていれば、入力で手が止まりません。

.github/PULL_REQUEST_TEMPLATE.md
## 何をしたか
## なぜ
## 確認してほしいこと

.github というフォルダ名も、先頭のドットを忘れないでください。 VS Code 上で作れば問題なく作れます。