基本操作コマンド
-
git init- 処理内容: 新しいGitリポジトリを現在のディレクトリに作成する。これにより、バージョン管理を開始できる。通常、プロジェクトの初期化時に一度だけ実行する。
-
git clone <repository_url>- 処理内容: リモートリポジトリ(GitHubなどにある既存のリポジトリ)をローカル環境に複製(クローン)する。リモートリポジトリの全履歴がダウンロードされ、ローカルリポジトリとして設定される。
-
git add <file_name>またはgit add .-
処理内容: 変更されたファイルを作業ツリーからステージングエリア(インデックスとも呼ばれる)に追加する。コミットの対象とするファイルを準備する段階である。
.を使うと、現在のディレクトリ以下の全ての変更されたファイルがステージングされる。
-
処理内容: 変更されたファイルを作業ツリーからステージングエリア(インデックスとも呼ばれる)に追加する。コミットの対象とするファイルを準備する段階である。
-
git commit -m "コミットメッセージ"- 処理内容: ステージングエリアに追加された変更をローカルリポジトリに永続的に記録する。「コミットメッセージ」は、その変更内容を簡潔に説明するもので、後から履歴を追う際に非常に重要になる。
-
git status- 処理内容: 現在の作業ツリーとステージングエリアの状態を表示する。どのファイルが変更されたか、ステージングされているか、コミットされていないかなどを確認できる。
-
git push- 処理内容: ローカルリポジトリでのコミットをリモートリポジトリに送信(プッシュ)する。これにより、他の開発者と変更を共有できる。
-
git pull-
処理内容: リモートリポジトリから最新の変更をフェッチし、ローカルリポジトリにマージする。他の開発者の変更を取り込む際に使用する。これは
git fetchとgit mergeの組み合わせである。
-
処理内容: リモートリポジトリから最新の変更をフェッチし、ローカルリポジトリにマージする。他の開発者の変更を取り込む際に使用する。これは
変更内容の一時保存・復元コマンド
git stash
- 処理内容: 作業中の変更を一時的に退避させる。コミットしたくないが、ブランチを切り替えたり、別の作業に移ったりする必要がある場合に使える。ステージングエリアにある変更と、まだステージングされていない変更の両方を退避させる。
-
git stash save "メッセージ": 退避するstashにメッセージを付けて保存する。 -
git stash apply: 直前に退避した変更を作業ツリーに復元する。このコマンドではstashの内容は残る。 -
git stash pop: 直前に退避した変更を作業ツリーに復元し、同時にstashリストからその変更を削除する。 -
git stash list: 退避されたstashの一覧を表示。 -
git stash drop: 直前に退避したstashを削除。
git stash -p
- 処理内容: インタラクティブモードで、変更内容をファイル単位、さらに変更のひとまとまりの単位で細かく選択して一時退避させるためのコマンド。
-
使い方:
git stash -pを実行すると、変更があったファイルや変更のまとまりごとに「この変更をstashしますか?」と尋ねられるので、y(yes),n(no),s(split),q(quit)などのコマンドで選択できる。
これにより、ファイル全体ではなく、特定の変更部分だけを退避させることができる。
履歴表示・確認コマンド
-
git log-
処理内容: コミット履歴を表示する。各コミットのハッシュ値、著者、日付、コミットメッセージなどの情報が表示される。様々なオプションを使って表示形式を変更できる(
--oneline,--graph,--allなど)。
-
処理内容: コミット履歴を表示する。各コミットのハッシュ値、著者、日付、コミットメッセージなどの情報が表示される。様々なオプションを使って表示形式を変更できる(
-
git diff-
処理内容: ファイルの変更内容を表示する。
-
git diff: 作業ツリーとステージングエリアの差分を表示する(まだステージングされていない変更)。 -
git diff --staged: ステージングエリアと最後のコミットの差分を表示する(ステージングされたがまだコミットされていない変更)。 -
git diff <commit1> <commit2>: 2つのコミット間の差分を表示する。
-
-
処理内容: ファイルの変更内容を表示する。
ブランチ操作コマンド
-
git branch-
処理内容:
-
git branch: ローカルリポジトリにあるブランチの一覧を表示する。現在のブランチにはアスタリスクが付く。 -
git branch <new_branch_name>: 新しいブランチを作成する。作成されただけでは、そのブランチには移動しない。
-
-
処理内容:
-
git checkout <branch_name>- 処理内容: 指定したブランチに切り替える。これにより、作業ツリーの内容が切り替えたブランチの最新の状態に更新される。ファイル単位で指定することも可能で、その場合は指定したファイルを指定したコミットの状態に戻す。
-
git merge <branch_name>- 処理内容: 指定したブランチの変更を現在のブランチに統合(マージ)する。複数の開発者が並行して行った変更を一つにまとめる際に使用する。
-
git branch -d <branch_name>-
処理内容: 指定したブランチを削除する。マージ済みのブランチのみ削除できる。強制削除は
-Dオプションを使う。
-
処理内容: 指定したブランチを削除する。マージ済みのブランチのみ削除できる。強制削除は
リモートリポジトリ関連コマンド
-
git remote-
処理内容: リモートリポジトリの一覧を表示する。通常、
originという名前がデフォルトのリモートリポジトリとして設定されている。
-
処理内容: リモートリポジトリの一覧を表示する。通常、
-
git fetch-
処理内容: リモートリポジトリから最新の変更履歴をローカルリポジトリにダウンロードするが、作業ツリーにはマージしない。
git pullと異なり、ダウンロードした変更をすぐに適用することはない。他の開発者の変更内容を確認する際に便利である。
-
処理内容: リモートリポジトリから最新の変更履歴をローカルリポジトリにダウンロードするが、作業ツリーにはマージしない。
その他コマンド
-
git reset <file_name>またはgit reset --hard <commit_hash>-
処理内容: 変更を元に戻す。
-
git reset <file_name>: ステージングエリアからファイルを削除する(ステージングを解除)。 -
git reset --hard <commit_hash>: 作業ツリー、ステージングエリア、ローカルリポジトリをすべて指定したコミットの状態に戻す。注意が必要なコマンドで、コミットされていない変更は失われる可能性がある。
-
-
処理内容: 変更を元に戻す。
-
git revert <commit_hash>- 処理内容: 指定したコミットの変更を取り消す新しいコミットを作成する。履歴を改変せず、過去の変更を安全に取り消したい場合に用いられる。
-
git config-
処理内容: Gitの設定を表示または変更する。ユーザー名やメールアドレスの設定などを行う。
git config --global user.name "Your Name"git config --global user.email "your.email@example.com"
-
処理内容: Gitの設定を表示または変更する。ユーザー名やメールアドレスの設定などを行う。