仕事で使うGit コマンドをまとめてみた

2024年08月18日 20:15
Last updated on 2025年01月13日 19:46

導入

  • この記事の目的: Gitコマンドの備忘録
  • 対象読者: たまにvscodeのGUIでGit を使う程度でコマンドもcloneしか憶えてないレベル感
  • 課題: 誤ってプッシュしたコミットをリモートリポジトリから取り消したいなどのトラブル

Git のリモートコミット取り消しの概要

  • Git のリモートコミット取り消しとは、リモートリポジトリにプッシュされたコミットを元の状態に戻すこと。
  • Git のリモートコミット取り消しの特徴:
    • ローカルの履歴を変更し、リモートに強制プッシュする
    • コミット履歴を書き換えることができる
    • チーム開発時は注意が必要
  • Git のリモートコミット取り消しを使うメリット:
    • 誤ったコミットを完全に削除できる
    • コミット履歴をクリーンに保てる

リモートコミット取り消しの手順

  1. 準備: Git がインストールされていること、対象のリポジトリがクローンされていることを確認する
  2. 現在の状態の確認: git log コマンドで現在のコミット履歴を確認する
  3. ローカルの履歴を巻き戻す: git reset --hard <コミットハッシュ> コマンドを使用して、ローカルの履歴を戻したい地点まで巻き戻す
  4. リモートに強制プッシュ: git push -f origin <ブランチ名> コマンドを使用して、変更をリモートリポジトリに強制的に反映させる
  5. 動作確認: 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

参考資料