GitHubメモ
CLIで開発するワークフローのメモ
リポジトリ用ディレクトリを作る
# 好きな作業ルートへ
cd ~/dev # なければ mkdir -p ~/dev && cd ~/dev
# プロジェクト用ディレクトリ
mkdir my-app
cd my-app
Git初期化
# Git管理を開始
git init
# とりあえずREADMEだけ作る
cat << 'EOF' > README.md
# my-app
ターミナル中心でGitHub連携する練習用プロジェクト。
EOF
# 状態確認
git status
# 変更をステージ
git add .
# 初回コミット
git commit -m "chore: init repo"
GitHubリポジトリ作成
# GitHub CLI インストール例(mac)
brew install gh # 既に入っていれば不要[web:32]
# GitHub にログイン
gh auth login
ssh鍵をGitHubに登録していて,どの鍵かわからなくなったら,以下のようなコマンドでフィンガープリント確認して,GitHubに登録しているものと照合すればいい
ssh-keygen -lf ~/.ssh/id_ed25519
ssh-keygen -lf ~/.ssh/id_rsa
# リポジトリ作成
cd ~/dev/my-app
gh repo create my-app \
--public \ # privateでも良い
--source=. \ # どのディレクトリからリポジトリ作るか
--remote=origin \
--push
開発ループ
GitHubに変更を反映する
git status # 何が変わったか確認
git add . # まとめてステージ
git commit -m "feat: add user model"
git push # origin main に反映
GitHubからの変更を取り込む
# pullを常にrebaseにする(このリポジトリだけ)
git config pull.rebase true
# 毎回作業前に
git pull
こうしておくと「divergent branches」のときでも pull だけでrebaseしてくれる。
branchを軽く使うワークフロー(ひとり開発向け)
最初は main 直でもいいが、「1機能 = 1ブランチ」になれておくと後で楽。
新機能ブランチを切る
# mainを最新に
git checkout main
git pull
# 機能ブランチ作成
git checkout -b feature/add-login
このブランチで作業・コミット:
# 作業
git status
git add .
git commit -m "feat: add login page"
# originにもブランチpush
git push -u origin feature/add-login
featureが落ち着いたら main に取り込む:
# mainに戻る
git checkout main
git pull # 念のため最新に
# マージ
git merge feature/add-login
# GitHubに反映
git push
# いらなければブランチ削除
git branch -d feature/add-login
git push origin --delete feature/add-login
GitHubの操作
# PR作成:
gh pr create
# Issues:
gh issue create
# Actions確認:
gh workflow view