🍏

Gitの操作コマンド

に公開

git checkout

  • ブランチを切り替える
git checkout branch-name
  • 新しいブランチを作成して切り替える
git checkout -b new-branch
  • ファイル内容を復元する(まだ add していない変更を取り消す)
git checkout -- <file>
  • 指定したコミットのファイルバージョンをチェックアウト
git checkout <commit-hash> -- <file>
  • 古いコミットを一時的に確認する
git checkout abc1234
  • AブランチのコードをBブランチにコピー
git checkout branch-b 
git checkout branch-a -- [file path]
  • 特定のstashからファイルだけを現在の作業ディレクトリに取り出す
git checkout stash {0} -- filepath

git stash

  • ステージと作業ツリーの変更をすべて退避
git stash
  • すべてのstashを確認
git stash list
  • 最新のstashを適用して削除
git stash pop
  • stashを適用するが保持する
git stash apply
  • 指定したstashを削除
git stash drop stash@{0}
  • すべてのstashを削除
git stash clear
  • stashに名前を付ける
git stash save "我的暂存"
git stash push -m "我的暂存"

git reset

模式 作用
--soft HEADポインタのみを移動し、ステージと作業ツリーの変更は保持
--mixed HEADを移動し、ステージをクリアするが作業ツリーはそのまま(デフォルト)
--hard HEADを移動し、ステージも作業ツリーも指定の状態に戻す
  • 1つ前のコミットに戻し、ステージと作業ツリーの変更を保持
git reset --soft HEAD~1
  • 1つ前のコミットに戻し、ステージをクリア(ファイルは未ステージ状態)、作業ツリーはそのまま
git reset --mixed HEAD~1
  • 1つ前のコミットに戻し、ステージも作業ツリーも完全に戻す(変更を完全に消す)
git reset --hard HEAD~1
  • 特定のコミットまで戻る
git log
git reset --hard abc1234
  • まだcommitしていないaddを取り消す
git reset
  • ステージと作業ツリーをHEADの状態に戻す
git reset --hard
  • addを取り消す
git reset HEAD <file>

git fetch

  • リモートoriginリポジトリから全ブランチの最新情報を取得
git fetch origin
  • すべてのリモートブランチを強制的に同期
git fetch --all
  • 削除されたリモートブランチをクリーンアップ
git fetch --prune

git remote

  • リモートリポジトリを表示
git remote
  • リモートリポジトリを追加
git remote add <name> <url>
  • リモートリポジトリを削除
git remote remove <name>
  • リモート名を変更
git remote rename <old> <new>
  • リモートURLを変更
git remote set-url <name> <newurl>
  • リモートの詳細情報を表示
git remote show <name>
  • 存在しないリモート追跡ブランチを削除
git remote prune origin

git restore

  • 特定のファイルの変更を破棄
git restore filepath
  • すべての変更を破棄
git restore .

git cherry-pick

  • 他のブランチの単一コミットを現在のブランチに適用
git cherry-pick <commit>
  • 複数のコミットを適用
git cherry-pick A..B

Discussion