Menu
Coddy logo textTech

Git チートシート

最終更新

セットアップと設定

コミットが正しく記録されるよう、一度だけ行う設定。

コマンド機能
git config --global user.name "Ada"コミットの名前を設定
git config --global user.email you@x.comコミットのメールアドレスを設定
git config --list現在のすべての設定を表示
git config --global init.defaultBranch main新規リポジトリの最初のブランチを main にする
git config --global core.editor "code --wait"既定のエディタを設定
git --versionインストールされている Git のバージョンを表示

作成とクローン

新しいリポジトリを始めるか、既存のものをコピーします。

コマンド機能
git init現在のフォルダに新しいリポジトリを作成
git clone <url>リモートリポジトリをローカルにコピー
git clone <url> mydir指定した名前のフォルダにクローン
git clone --depth 1 <url>浅いクローン (最新のコミットのみ)
git clone -b dev <url>クローンして dev ブランチをチェックアウト

ステージングとコミット

変更をプロジェクトの履歴に記録します。

コマンド機能
git add file.txtファイル 1 つをステージング
git add .現在のディレクトリのすべての変更をステージング
git add -p選んだ変更箇所を対話的にステージング
git commit -m "message"ステージングした変更をコミット
git commit -am "message"追跡中のファイルをステージングしてコミット
git commit --amend直前のコミットを編集
git rm file.txtファイルを削除し、その削除をステージング

ブランチ

変更を切り離して作業します。

コマンド機能
git branchローカルブランチを一覧表示
git branch feature新しいブランチを作成
git switch feature既存のブランチに切り替え
git switch -c feature作成と切り替えを一度に
git checkout featureブランチを切り替える古い方法
git branch -d featureマージ済みのブランチを削除
git branch -m newname現在のブランチ名を変更

マージとリベース

2 つのブランチの作業を統合します。

コマンド機能
git merge featurefeature を現在のブランチにマージ
git merge --no-ff feature常にマージコミットを作成
git rebase main自分のコミットを main の上に並べ直す
git rebase -i HEAD~3直近 3 件のコミットを対話的に編集
git rebase --continue競合を解決した後に再開
git rebase --abort進行中のリベースを中止
git cherry-pick <hash>コミット 1 つをこのブランチに適用

リモート (push、pull、fetch)

ローカルリポジトリを GitHub などのリモートと同期します。

コマンド機能
git remote -v設定済みのリモートを一覧表示
git remote add origin <url>origin という名前のリモートを紐付け
git fetchマージせずにリモートの変更をダウンロード
git pullリモートブランチを取得してマージ
git pushコミットをリモートにアップロード
git push -u origin mainプッシュして上流ブランチを設定
git push origin --delete featureリモートブランチを削除

確認 (status、log、diff)

何が変わり、何が起きているかを確認します。

コマンド機能
git statusステージング済み・未ステージング・未追跡のファイルを表示
git logコミット履歴を表示
git log --oneline --graphブランチグラフ付きのコンパクトな履歴
git diff未ステージングの変更とインデックスを比較
git diff --stagedステージング済みの変更と直前のコミットを比較
git show <hash>1 つのコミットの変更を表示
git blame file.txt各行を最後に変更した人を表示

変更の取り消し

ミスから安全に復旧します。

コマンド機能
git restore file.txtファイルの未ステージングの変更を破棄
git restore --staged file.txtファイルのステージングを解除 (変更は保持)
git reset --soft HEAD~1直前のコミットを取り消し、変更はステージングしたまま
git reset --hard HEAD~1直前のコミットを取り消し、変更も破棄
git revert <hash>別のコミットを打ち消す新しいコミットを作成
git stash変更を一時的に退避
git stash pop最新の stash を再適用

よく使う Git コマンドを 1 ページにまとめました。この Git チートシートは、日々のバージョン管理のクイックリファレンスです。Git の設定、ステージングとコミット、ブランチ、マージとリベース、リモートとの同期、ミスの取り消しを収録しています。

これらは標準の Git コマンドで、Linux、macOS、Windows で同じように動作します。必要なものをコピーするか、ターミナルプレイグラウンドでその場で試してみてください。ブラウザ上の本物のシェルで、インストールは不要です。

Git チートシート よくある質問

この Git チートシートは無料ですか?
はい。この Git チートシートは完全に無料で、登録も不要です。ブックマークしておけば、ブランチ、コミット、変更の取り消しのコマンドを調べたいときにいつでも戻ってこられます。
merge と rebase の違いは何ですか?
git merge は新しいマージコミットを作って 2 つのブランチを統合し、両方の履歴をそのまま結び付けて保持します。git rebase はその代わりに、自分のコミットを 1 つずつ別のブランチの上に並べ直し、マージコミットのない一直線の履歴を作ります。merge は安全で非破壊的です。rebase はよりきれいな履歴を作りますがコミットを書き換えるので、他の人がすでに pull したブランチはリベースしないようにしましょう。
Git でコミットを取り消すには?
プッシュ済みかどうかによります。ローカルのコミットなら、git reset --soft HEAD~1 は直前のコミットを取り消しつつ変更をステージングしたまま残し、git reset --hard HEAD~1 は変更も完全に破棄します。すでに共有されているコミットには、git revert <hash> を使って、履歴を書き換えずにそれを打ち消す新しいコミットを作成します。
Git コマンドをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ上の本物のシェルで Git コマンドを実行できます。インストールは不要です。体系的に学びたいときは、Coddy の無料インタラクティブ Git コースが、最初のコミットからブランチ、マージ、リモートまで段階的に導いてくれます。
このチートシートは初心者に向いていますか?
はい。セットアップとコミット (日々の基本) からリベースや変更の取り消しへと並べてあるので、初日から上のセクションを使い、応用的なワークフローには慣れながら進めます。
Coddy programming languages illustration

CoddyでGitを学ぼう

始める