0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubリポジトリ操作 チートシート

0
Posted at

GitHubリポジトリ操作 チートシート

『GitHubのレポジトリ管理方法をしっかり理解する』本編で扱ったコマンドを、参照しやすいように一覧化したものです。詳しい説明は本編の該当章をご覧ください。

リポジトリの作成・クローン(第1章)

gh repo create REPOSITORY --public

新しいリポジトリを作成する(--private / --internal も指定可)

gh repo create REPOSITORY --public --clone

作成と同時にローカルへクローンする

git clone https://github.com/OWNER/REPO

リポジトリをHTTPS経由でクローンする

gh repo clone REPOSITORY

GitHub CLIでクローンする(OWNER/省略時は自分のアカウント扱い)

git branch -a

リモートを含むすべてのブランチを一覧表示する

git checkout BRANCH

指定したブランチに切り替える(存在しない場合は追跡ブランチを作成)

最初のコミット(第1章)

git add .

変更をステージする

git commit -m "メッセージ"

ステージした変更をコミットする

git push --set-upstream origin HEAD

現在のブランチを初回プッシュし、以後の追跡先を設定する

リモートの確認・変更(第1章)

git remote -v

設定されているリモートURLを確認する

git remote set-url origin NEW_URL

リモートのURLを変更する(改名・移行後の追従に使用)

リポジトリの複製・ミラーリング(第1章)

git clone --bare https://github.com/OWNER/OLD-REPO.git

ベアクローン(作業ディレクトリを持たないクローン)を作成する

git push --mirror https://github.com/OWNER/NEW-REPO.git

ベアクローンの内容を新しいリポジトリへミラープッシュする

git clone --mirror https://github.com/OWNER/REPO.git

継続的に同期するミラーを作成する(フェッチのたびに全参照が上書きされる)

git remote set-url --push origin PUSH_URL

フェッチ元とプッシュ先を分離する(ミラー運用時に使用)

git fetch -p origin && git push --mirror

ミラーを最新状態に更新する

ブランチの改名に伴う後始末(第2章)

git remote set-url origin NEW_URL

リポジトリ改名後、ローカルのリモートURLを更新する

ファイルの追加・移動(第6章)

git add path/to/file

新規・更新ファイルをステージする

git status

ステージ状況を確認する(renamed: でGitが移動を自動検知したことが分かる)

git commit -m "Move file to new directory"

ファイルの移動をコミットする

コードの変更履歴(第6章)

git blame --ignore-revs-file .git-blame-ignore-revs

大規模リファクタリングのコミットをBlame表示から除外する

git config blame.ignoreRevsFile .git-blame-ignore-revs

上記の除外設定をローカルGitの既定動作にする

リポジトリ履歴からのファイル削除(第6章)

git rm --cached ファイル名

直近の未プッシュコミットからファイルを取り除く(ディスク上には残す)

git commit --amend -CHEAD

直前のコミットを、メッセージそのままで修正する

Git LFS(第6章)

git lfs install

Git LFSをローカル環境に導入する

git lfs track "*.psd"

指定した拡張子のファイルをLFSで追跡する(.gitattributesに記録される)

git add path/to/file.psd && git commit -m "add file.psd" && git push

LFS追跡ファイルを通常どおり追加・コミット・プッシュする

git lfs fetch --all

リポジトリ内のLFSオブジェクトをすべて取得する

git lfs push --all origin

LFSオブジェクトをすべて明示的にプッシュする(アップロード失敗の再試行にも使用)

git lfs migrate

既存ファイルを通常のGit管理からLFS管理へ移行する

git lfs uninstall

リポジトリでのLFS利用をやめる(1.1.0未満はgit lfs uninit)

リリース(第7章)

gh release create v1.0.0 --title "タイトル" --notes "メモ" --prerelease

プレリリースを作成する(--prereleaseを外せば正式リリース)

gh release edit TAG -t "新しいタイトル"

リリースのタイトルを変更する

gh release delete TAG -y

確認なしでリリースを削除する

参考:主要な設定ファイルの置き場所

ファイル 配置場所 役割
.gitattributes リポジトリルート Git LFS追跡、diff・言語統計からの除外設定
CODEOWNERS .github/、ルート、docs/のいずれか コードレビュー担当の自動割り当て
FUNDING.yml .github/ スポンサーボタンの設定
CITATION.cff リポジトリルート 学術的な引用情報
release.yml .github/ リリースノート自動生成のカテゴリ設定
.git-blame-ignore-revs リポジトリルート Blame表示から除外するコミット一覧

参考:fnmatchパターンの基本(第5章)

パターン マッチする例
*release* release、my-release-branchを含む名前
qa/* qa/foo(1階層のみ、qa/foo/barは不一致)
qa/**/* qa/foo/bar/baz(任意の深さ)
releases/**/* releases/配下すべて

本チートシートは『GitHubのレポジトリ管理方法をしっかり理解する』の抜粋・要約です。各コマンドの前提条件や注意点は本編をご参照ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?