0
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コマンドリファレンス

0
Last updated at Posted at 2025-11-15

開発効率を高めるGitコマンドリファレンス

(トップページはこちら) - (Gitで始める効率的な開発ワークフロー)

開発ワークフローにおいて、Gitコマンドは時間を節約する重要なツールです。このリファレンスでは、コード変更、ブランチ管理、履歴確認といった日常的なタスクで頻繁に使用されるコマンドを、正確な構文と実践的な例とともに紹介します。

1. ファイル操作の基本

1.1 git add

ファイルをステージングエリアに追加します。

git add <file_path>

カレントディレクトリから再帰的に変更をステージングする場合は git add . を、リポジトリ全体の変更をステージングする場合は git add --all を使用します。

1.2 git commit

ステージングされた変更をリポジトリにコミットします。

git commit -m "<commit_message>"

コミットメッセージに空行を含めると、最初の行がコミットサブジェクト、残りがコミット本文になります。サブジェクトで変更を簡潔に要約し、本文で詳細を提供します。

1.3 git commit --amend

直前のコミットを修正します。

git commit --amend

2. ブランチ管理

2.1 git checkout

特定のブランチに切り替えます。

git checkout <branch_name>

新しいブランチを作成して切り替える場合は、git checkout -b <branch_name> を使用します。

2.2 git merge

あるブランチの変更を別のブランチに統合します。

git checkout target_branch
git merge feature_branch

この例では、feature_branch の変更を target_branch に適用します。

2.3 git rebase

ブランチのコミット履歴を書き換えます。

git rebase <branch_name>

マージコンフリクトの解決にも使用でき、ほとんどの場合、デフォルトブランチに対してリベースを行います。

3. リポジトリの同期

3.1 git clone

既存のGitリポジトリをコピーします。

git clone <repository>

3.2 git pull

最後にクローンまたはプルした後に他のユーザーが行ったすべての変更を取得します。

git pull <optional_remote> <branch_name>

3.3 git push

リモート参照を更新します。

git push

3.4 git remote add

GitLabのどのリモートリポジトリがローカルディレクトリにリンクされているかをGitに伝えます。

git remote add <remote_name> <repository_url>

リポジトリをクローンすると、デフォルトでソースリポジトリは origin というリモート名に関連付けられます。

4. 変更の確認と比較

4.1 git status

作業ディレクトリとステージングされたファイルの状態を表示します。

git status

ファイルを追加、変更、削除すると、Gitは変更を表示できます。

4.2 git diff

ローカルのステージングされていない変更と、クローンまたはプルした最新バージョンとの差分を表示します。

git diff

特定のブランチと比較する場合は、次のコマンドを実行します。

git diff <branch>

出力では、追加された行はプラス記号(+)で始まり緑色で表示され、削除または変更された行はマイナス記号(-)で始まり赤色で表示されます。

4.3 git log

コミットのリストを時系列順に表示します。

git log

4.4 git show

Gitのオブジェクトに関する情報を表示します。例えば、HEAD が指しているコミットを確認する場合は次のようにします。

$ git show HEAD
commit ab123c (HEAD -> main, origin/main, origin/HEAD)

5. コード分析とデバッグ

5.1 git blame

ファイルのどの部分をどのユーザーが変更したかを報告します。

git blame <file_name>

特定の行範囲を確認する場合は、git blame -L <line_start>, <line_end> を使用します。

例: example.txt の5行目を最後に変更したユーザーを確認する場合

$ git blame -L 5, 5 example.txt
123abc (Zhang Wei 2021-07-04 12:23:04 +0000 5)

5.2 git bisect

バイナリサーチを使用してバグを導入したコミットを見つけます。

まず、「bad」(バグを含む)コミットと「good」(バグを含まない)コミットを特定します。

git bisect start
git bisect bad                 # 現在のバージョンはbad
git bisect good v2.6.13-rc2    # v2.6.13-rc2はgoodであることがわかっている

git bisect は2つのポイント間のコミットを選択し、そのコミットが「good」か「bad」かを git bisect good または git bisect bad で識別するよう求めます。コミットが見つかるまでこのプロセスを繰り返します。

6. 変更の取り消し

6.1 git reset

コミットを取り消し、コミット履歴を巻き戻して、以前のコミットから続行します。

git reset

6.2 git reflog

Git参照ログへの変更のリストを表示します。

git reflog

デフォルトでは、git reflog は HEAD への変更のリストを表示します。

7. リポジトリの初期化

7.1 git init

Gitがリポジトリとして追跡できるようにディレクトリを初期化します。

git init

設定ファイルとログファイルを含む .git ファイルがディレクトリに追加されます。.git ファイルを直接編集しないでください。

デフォルトブランチは main に設定されます。デフォルトブランチの名前を変更する場合は git branch -m <branch_name> を使用するか、git init -b <branch_name> で初期化します。

まとめ

これらのGitコマンドは、日々の開発ワークフローを効率化するための実用的なツールです。各コマンドの正確な構文と使用例を理解することで、コード管理、ブランチ操作、履歴追跡、問題のデバッグといったタスクをスムーズに実行できます。必要に応じて各コマンドの詳細なドキュメントを参照し、チームの開発プロセスに最適な使い方を見つけてください。

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