リポジトリの初期化
git init
ローカルディレクトリをGitリポジトリに初期化します。このコマンドを実行すると、.git
フォルダが作成され、Gitの管理が開始されます。
git init
リモートリポジトリの操作
git clone
リモートリポジトリをローカルにコピーします。リポジトリのURLを指定して使用します。
git clone <repository_url>
git remote add
リモートリポジトリを追加します。複数のリモートリポジトリを管理する場合に便利です
git remote add origin <repository_url>
git remote -v
現在のリモートリポジトリを一覧表示します。
git remote -v
変更の確認とステージング
git status
現在のブランチの状態を表示します。変更されたファイル、ステージングされたファイル、コミットされていないファイルなどがわかります。
git status
git add
ファイルをステージングエリアに追加します。コミット対象にするための準備です。
git add <file>
git add . # カレントディレクトリ以下すべての変更をステージング
git diff
ステージングされていない変更や、コミット間の差分を確認します。
git diff # ステージングされていない差分
git diff --cached # ステージング済みの差分
コミットとログの確認
git commit
ステージングエリアにある変更をローカルリポジトリに保存します。メッセージ付きでコミットするのが一般的です。
git commit -m "コミットメッセージ"
git log
コミット履歴を表示します。
git log
git log --oneline # 簡潔に1行で表示
git commit –amend
最後のコミットを修正します(メッセージや変更内容を追加・修正)。
git commit --amend
ブランチ操作
git branch
ブランチを操作します。現在のブランチ一覧を表示するほか、新規ブランチを作成する際にも使用します。
git branch # ブランチの一覧を表示
git branch <branch_name> # 新しいブランチを作成
git checkout
Gitにおける多用途なコマンドで、以下のような場面で使用されます
ブランチの切り替え
別の既存ブランチに移動する際に使用します。
git checkout <branch_name>
例
git checkout main
新しいブランチの作成と切り替え
新しいブランチを作成して同時にそのブランチに切り替えます。
git checkout -b <new_branch_name>
例
git checkout -b feature/new-feature
ファイルの変更を取り消す
ワーキングツリーの変更を元に戻します。特定のファイルやすべてのファイルをリポジトリの状態に復元する際に使います。
git checkout <file_name>
例
git checkout README.md # README.md を最後のコミット状態に戻す
特定のコミットに切り替える
過去のコミットを一時的に確認するために、そのコミットの状態に切り替える際に使用します。
git checkout <commit_hash>
例
git checkout f1a2b3c4
注意点
git checkout は多機能であるため、新しいGitでは git switch(ブランチ切り替え)と git restore(ファイル復元)に分離されました。それぞれの目的に応じて新しいコマンドを使用することが推奨されています。
git switch
新しいブランチに切り替えたり作成したりします(git checkout
の代替)。
git switch <branch_name> # 既存ブランチに切り替え
git switch -c <new_branch_name> # 新しいブランチを作成して切り替え
git merge
他のブランチの内容を現在のブランチにマージします。
git merge <branch_name>
リモートリポジトリとの同期
git pull
リモートリポジトリから最新の変更を取得して、現在のブランチにマージします。
git pull origin <branch_name>
git push
ローカルの変更をリモートリポジトリに送信します。
git push origin <branch_name>
git fetch
リモートリポジトリの最新の変更を取得しますが、ローカルブランチには適用しません。リモートブランチやタグなどの更新を確認するのに使います。
git fetch origin
主な用途
- リモートブランチの最新状態を確認する
- マージやリベースを手動で行う前にリモートの内容を取得する
- コミットの変更履歴を確認する(
git log origin/<branch_name>
)
例
git fetch origin feature-branch
git log origin/feature-branch
ポイント
git pull は git fetch と git merge を組み合わせた操作です。リモートの変更を自動でマージしたくない場合は、git fetch を使用します。
ファイルの追跡解除や取り消し
git rm
ファイルをリポジトリから削除します。
git rm <file>
git rm --cached <file> # ステージングから削除(ファイルは残る)
git restore
ファイルの変更を取り消します。
git restore <file> # ステージング前の変更を元に戻す
git restore --staged <file> # ステージングを解除
タグの操作
git tag
特定のコミットにタグを付けます。
git tag <tag_name>
git tag -a <tag_name> -m "タグの説明" # アノテート付きタグ
git push origin –tags
リモートにすべてのタグを送信します。
git push origin --tags
応用的な操作
git stash
現在の作業状態を一時的に保存します。未コミットの変更を退避させるのに便利です。
git stash # 作業内容を保存
git stash pop # 保存した作業内容を復元
git stash list # スタッシュの一覧を表示
git rebase
コミット履歴を整理してブランチを統合します。
git rebase <branch_name>
git cherry-pick
他のブランチから特定のコミットを適用します。
git cherry-pick <commit_hash>
コメント