自分の開発用にGitコマンドのチートシート(随時更新)
背景
開発時に別プラットフォームでチートシートまとめているより、
Qiitaに投稿してチートシートを参照する方がモチベーション上がると思い投稿しました。
また、初心者ならではの視点で、それぞれのコマンドがどういう場面で使いたくなったのか、という視点でまとました。
そのため、敢えて初心者がこういう風に捉えているという文言で書いているのでご了承ください。
Gitコマンドチートシート
どういう場面で使う? | コマンド | 動作 |
---|---|---|
githubやcodecommit上にあるデータをPCに持ってきたい | git clone <URL> | サーバー上から変更履歴を複製 |
今どのブランチを指定しているか知りたい | git branch –a | ローカル・リモートブランチを表示 |
ブランチを切り替えたい | git switch <ブランチ名> | 指定しているブランチを変更 |
新しいブランチを作成したい | git checkout –b <ブランチ名> origin/<リモートブランチ名> | 指定した名前のブランチを作成(origin ~の内容を踏襲したものとなる) |
変更されたファイルの差分が見たい | git diff | ワークツリーとインデックスの差分を表示 |
ファイルをステージングしたい | git add . | 変更したすべてのファイルをステージング |
コミット前のステージング状況が知りたい | git status | コミット前のステージングにあるものと、変更されているがaddされていないものを表示 |
ファイルをコミットしたい | git commit -m “コメント” | addした全てのファイルにコメントをつけてコミット |
変更履歴を確認したい(コミット後) | git log ⇒qで元に戻る | レポジトリの変更履歴を確認 |
マージしたい(相手のブランチを今いるブランチに) | git merge <相手ブランチ名> | 自分の今いるブランチに 相手ブランチがマージされる |
コミットした内容をリモートに反映させたい | git push origin <ブランチ名> | リモートレポジトリに ローカルでの変更内容をアップロード |
リモートレポジトリの情報をローカルに反映したい | git fetch | リモートレポジトリと通信し、 そのリポジトリにあって 現在のリポジトリにない情報を全て取得 |
リモートレポジトリのブランチ内容をコピーしたい | git pull origin <ブランチ名> | リモートレポジトリ上での変更を取得してローカルのファイルを書き換える |
add前のローカル変更を戻したい、 編集してステージングしていないファイルをもとに戻したい |
git checkout -- <ファイル名> | 手元で変更したが、インデックスに登録されていないファイルを元に戻す |
add直後の変更を取り消したい | git reset HEAD -- <ファイル名> | インデックスに登録したファイルを取り消し |
Github上で閉じたブランチをローカルレポジトリからも消したい | git fetch --prune | リモートリポジトリで削除されたブランチをローカルからも削除 |
マージ後のローカルブランチを削除したい | git branch –d <ブランチ名> | ローカルブランチを削除(-dを-Dにすると強制削除) |
直前のコミットを取り消したい | git reset --soft HEAD^ | 1つ前のコミットの実行を取り消す |
一時的に過去のcommitに戻って操作したい | git checkout <コミット名> | ブランチを過去のコミットに戻す |
最新のcommit状態に戻したい | git checkout <ブランチ名> | 現在のcommit状態に戻す過去のcommitに戻ると、操作しているブランチとは異なるブランチを一時的に作成している |