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?

Git コマンド集~基礎編

0
Last updated at Posted at 2026-03-26

TortoiseGit(GUI)は便利ですが、よく進捗がわからない、レスポンスが遅い、などの弱点もあることから、基礎的なコマンドに絞った表を、備忘録を兼ねて整理します。

基礎的な考え方

Gitの考え方として、最低限抑えておかない定義として、領域があります。

領域表

領域 どこにある? 役割
①Working Directory ローカル(実際のファイル) 編集する場所
②Staging Area ローカル(.git/index) commitする前の一時置き場(addした状態)
③Local Repository ローカル(.git) commitの履歴が保存される
④Remote Repository サーバー側(GitLab、GitBucket、GitHubなど) pushした履歴が保存される

イメージテキスト図

[Working Directory]  ← 編集する場所
        |
        | git add
        ↓
[Staging Area](.git/index)
        |
        | git commit
        ↓
[Local Repository](.git)
        |
        | git push
        ↓
[Remote Repository] サーバー側(GitLab、GitBucket、GitHubなど)

コマンド表(基礎)

コマンド 詳細
git add [ファイル名] [ファイル名]を、git配下[stage]に登録
git add -u 変更された既存ファイルだけを、git配下[stage]に登録
git add ./git add -A 新規ファイルも含めて、全部[stage]に登録
git status stageと、ローカルリポジトリの差分を表示
git commit stageへの反映を、ローカルリポジトリに反映(※注意 通常はcommitメッセージを記載しないとcommitされない)
git push ローカルリポジトリからリモートリポジトリ(orign)に反映
git diff/git diff --staged 今、HEADがbranchBにいたとして、このコマンドを打つと、HEADの作業ツリーと、[branch名]の最新commit(ローカルリポジトリ)を比較
git diff --cached [branch名] 今、HEADがbranchBにいたとして、このコマンドを打つと、HEADの作業ツリーと、[branch名]のstageを比較
git diff HEAD 作業ツリーと、HEAD(すなわち、今checkoutしている最新commit=localリポジトリ)を比較
HEAD補足
A → B → Cでcommitされたとし、今はCであるとすると、
HEAD^ = HEAD~1 (すなわち、Bの位置であり、1つ前のcommit)
HEAD^^ = HEAD~2 (すなわち、Aの位置であり、2つ前のcommit)
使用例
git show [HEAD^^]、git diff [HEAD^]、git checkout [HEAD~1]
git checkout HEAD@{3}
git log ログの表示、commitがハッシュで表示される
git log --oneline ログの表示、commitハッシュと、commitメッセージで表示
git log [ファイル名] [ファイル名]に絞り、ログを表示
git diff [commitハッシュ1] [commitハッシュ2] commit1と、commit2の差分表示
※ ハッシュは、--onelineで表示される先頭6文字で可能
git diff [commitハッシュ1] [commitハッシュ2] [ファイル名] [ファイル名]に絞り、commit1と、commit2の差分表示
git diff [commitハッシュ] HEAD commit1と、HEADの差分表示
他使用例:git diff HEAD^ HEAD
git show コミット情報表示
git show [commitハッシュ][ファイル名] commitハッシュのコミット情報表示
git ls-files [-s] ステージの内容を表示 [-s] 付けると、詳細(ハッシュ付き)表示
git reset ステージへのaddをなかったことにする
git reset -- [ファイル名] [ファイル名]のステージへのaddをなかったことにする
git reset --hard [作業ツリーの内容を、HEAD(stageの内容)の状態に残す
※作業ツリーの内容が書き換わる
git reset --soft HEAD^ 直前のcommitをなかったことにする
git checkout -- [ファイル名] stageから、[ファイル名]をcheckoutする
※作業ツリーの内容が書き換わる
git mv [旧ファイル名] [新ファイル名] ファイル名の変更
git rm [ファイル名]/git rm -r [フォルダ名] stageから、[ファイル名]やフォルダを削除する
※まず、作業ツリーで削除し、git rm後には同期が取られた状態にしないとエラーになる
git checkout [commitハッシュ] -- [ファイル名] 該当のcommitから、checkout(stageと作業ツリーにcheckout)、branchも(HEAD detatched コミット)などに変更
※ファイル名がない場合は、commitに該当するファイル全てをcheckout
commitにあり、作業ツリーにない場合は追加、同名ファイルがある場合上書き、作業ツリーにあり、commitにないファイルは作業ツリーから削除される

コマンド表(branch基礎)

コマンド 詳細
git branch HEADがどのbranchにいるか確認
git checkout [branch名] HEADで、branchの切り替え
git merge [branch名] [branch名]から、HEADにmerge

最後に

今回は、branchの続きと、ちょっとした応用編の記事を書ければと思います。

参考文献

動かして学ぶ! Git入門 (NEXT ONE)

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?