🍏
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