2
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 の使い方メモ (コマンドや説明など)

Last updated at Posted at 2024-11-01

概要

Git で使ったことのあるコマンドや説明などのメモです。

使用方法

リモートリポジトリをローカル環境に複製する

git clone

現在のディレクトリ内に指定したリモートリポジトリをローカル環境に複製するコマンドです。

  • リポジトリの URL は基本的に SSH 接続用の URL を使用してください
git clone <リポジトリのURL>

一時的に変更を退避する

git stash

作業中の変更を一時的に保存(退避)して、作業ディレクトリをクリーンな状態に戻すコマンドです。

  • 現在の変更を一旦退避して別の作業を始めたい場合などに使用します
  • コメントは必須ではありませんが、後で内容を確認しやすくするために使用できます
git stash
  • コメントを付与する場合

    git stash save "コメント"
    
  • スタッシュを戻す場合は、git stash apply または git stash pop を使用します。

スタッシュを適用する

git stash apply

git stash で退避した一時的な変更を適用するコマンドです。

  • スタッシュした変更を適用しますが、スタッシュリストにはその変更が残ります
  • 他のブランチにスタッシュ内容を適用したい場合や、スタッシュを複数回使用する場合に使用します

feature-a ブランチで変更をスタッシュし、その内容を dev ブランチに適用する場合:

git stash           # `feature-a` でスタッシュを作成
git checkout dev   # `dev` に切り替え
git stash apply     # `dev` にスタッシュを適用
  • スタッシュ(変更)の一覧はgit stash list コマンドで確認できます
    git stash list
    

git stash pop

スタッシュした一時的な変更を適用し、そのスタッシュをリストから削除するコマンドです。

  • 現在のブランチにのみ使用することが多いです。
  • スタッシュした変更を一度だけ適用したい場合や、スタッシュ内容が不要になった場合に使用します
  • コンフリクト(衝突)が発生した場合は、手動で解決する必要があります

スタッシュを現在のブランチに適用して削除する:

git stash pop

追跡情報を更新する

git fetch

リモートブランチの最新の状態をローカルの追跡ブランチに反映するコマンドです。

  • pullと違いブランチの追跡情報のみを更新するので、ローカルリポジトリの状態は変わりません
git fetch

git pull <リモートブランチ名>

指定したリモートブランチの最新の状態をローカルブランチに反映し、それに基づく変更をローカルリポジトリに対してマージするコマンドです。

  • プルする前に、git fetch を実行し、リモートリポジトリの状態を確認してから実行してください
  • ローカルリポジトリの状態が変わる(マージされる)ので、プルを実行するときにコンフリクトが発生する場合がありますので、手動で解決する必要があります
git pull origin <リモートブランチ名>
誤って異なるブランチをプルしてしまった場合

誤って現在のブランチ名とは異なるブランチ名のものをプルしてしまった場合は、以下の手順で強制的に指定されたコミットの状態に巻き戻すことが出来ます。

  1. git logコマンドや VSCode の拡張機能のGitGraphなどで巻き戻したいコミット ID を調べます

  2. そのコミット ID をコピーなどで取得します

  3. 以下のresetコマンドで、そのコミット ID の状態に巻き戻します

    git reset --hard <コミットID>
    
  • git reset --hardを行うと、そのブランチのローカルの変更全てが削除されるので、注意して使用してください
    • 重要な変更などがある場合、stashなどで一時的に変更を保存するなどしてください

マージする

git merge <ブランチ名>

現在のブランチに指定したブランチの変更を統合するコマンドです。

  • マージする前に、git fetch を実行して最新のリモートブランチを確認してから行ってください
  • マージ後も指定されたブランチはそのまま残り、他の作業を続けることができます
  • コンフリクト(衝突)が発生した場合は、手動で解決する必要があります
git merge <変更を取り込みたいブランチ名>

変更をリモートに反映する

git push origin <ブランチ名>

ローカルリポジトリの変更をリモートリポジトリに反映(アップロード)するコマンドです。

git push origin <ローカルブランチ名>
  • 例えば、現在のブランチが dev の場合、次のように入力して origindev ブランチに反映させます
    git push origin dev
    

初回のみ: git push -u origin <ブランチ名>

初回のプッシュ時に -u オプションを使用することで、リモートブランチを追跡ブランチとして設定できます。設定後は、次回から単に git push と入力するだけで同じリモートブランチにプッシュできるようになります。

git push -u origin <ブランチ名>

これを行うことで、次回からは

git push

と入力するだけで同じリモートブランチにプッシュできるようになります。

2
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
2
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?