仕事で使うGit コマンドをまとめてみた
2024年08月18日 20:15
Last updated on 2025年01月13日 19:46
導入
- この記事の目的: Gitコマンドの備忘録
- 対象読者: たまにvscodeのGUIでGit を使う程度でコマンドもcloneしか憶えてないレベル感
- 課題: 誤ってプッシュしたコミットをリモートリポジトリから取り消したいなどのトラブル
Git のリモートコミット取り消しの概要
- Git のリモートコミット取り消しとは、リモートリポジトリにプッシュされたコミットを元の状態に戻すこと。
- Git のリモートコミット取り消しの特徴:
- ローカルの履歴を変更し、リモートに強制プッシュする
- コミット履歴を書き換えることができる
- チーム開発時は注意が必要
- Git のリモートコミット取り消しを使うメリット:
- 誤ったコミットを完全に削除できる
- コミット履歴をクリーンに保てる
リモートコミット取り消しの手順
- 準備: Git がインストールされていること、対象のリポジトリがクローンされていることを確認する
- 現在の状態の確認: git log コマンドで現在のコミット履歴を確認する
- ローカルの履歴を巻き戻す: git reset --hard <コミットハッシュ> コマンドを使用して、ローカルの履歴を戻したい地点まで巻き戻す
- リモートに強制プッシュ: git push -f origin <ブランチ名> コマンドを使用して、変更をリモートリポジトリに強制的に反映させる
- 動作確認: GitHub などのリモートリポジトリのウェブサイトで、コミット履歴が正しく巻き戻されていることを確認する
#コミット履歴の確認
git log
#ローカルの履歴を巻き戻す
git reset --hard <コミットハッシュ>
#直前のコミットを指定して打ち消し
git revert HEAD^
#範囲指定して打ち消し
git revert HEAD~3..HEAD^
#リモートに強制プッシュ
git push -f origin <ブランチ名>
基礎のgitコマンド
# リポジトリの初期化
mkdir my-project
cd my-project
git init
## ブランチのクローン
git clone -b ブランチ名 https://リポジトリのアドレス
# ファイルの追加
git add filename.txt
git add . # カレントディレクトリのすべてのファイルを追加
# 変更の確定(コミット)
git commit -m "Initial commit"
# 状態の確認
git status
# 変更履歴の確認
git log
git log --oneline # 簡潔な形式で表示
# リモートリポジトリとの連携
git remote add origin https://github.com/username/repo.git
git push -u origin main
git pull origin main
# ブランチの作成と切り替え
git branch feature-branch
git checkout feature-branch
# または
git checkout -b feature-branch # ブランチの作成と切り替えを同時に行う
# 変更の比較
git diff
git diff --staged # ステージングされた変更を表示
PRレビュー
# まずメインブランチを最新に更新
git checkout main
git pull origin main
# PRブランチを取得
# PR番号が123の場合
git fetch origin pull/123/head:pr-123
# PRブランチに切り替え
git checkout pr-123
# 依存関係のインストール (npm)
npm install