一般的なGitコマンド
Gitコマンドを使用すると、開発ワークフロー全体���時間を節約できます。このリファレンスページには、コードの変更、ブランチの管理、履歴のレビューなど、一般的なタスクで頻繁に使用されるコマンドが記載されています。各コマンドセクションでは、正確な構文、実践的な例、追加ドキュメントへのリンクを提供します。
git add
git addを使用して、ファイルをステージングエリアに追加します。
git add <file_path>git add .を使用して現在の作業ディレクトリから変更を再帰的にステージングしたり、git add --allを使用してGitリポジトリ内のすべての変更をステージングしたりできます。
詳細については、ブランチにファイルを追加するを参照してください。
git blame
git blameを使用して、ファイルのどの部分をどのユーザーが変更したかについてレポートを作成します。
git blame <file_name>git blame -L <line_start>, <line_end>を使用して、特定の行範囲を確認できます。
詳細については、Git file blameを参照してください。
例
example.txtの5行目を最後に変更したユーザーは、次のスクリプトで確認できます。
$ git blame -L 5, 5 example.txt
123abc (Zhang Wei 2021-07-04 12:23:04 +0000 5)git bisect
git bisectにより、二分探索を使用してバグを発生させたコミットを見つけます。
まず、「悪い」(バグを含む)コミットと「良い」(バグを含まない)コミットを特定します。
git bisect start
git bisect bad # Current version is bad
git bisect good v2.6.13-rc2 # v2.6.13-rc2 is known to be good次にgit bisectは、2つのポイント間にあるコミットを選択し、git bisect goodまたはgit bisect badでコミットが「良い」か「悪い」かを識別するように求めます。コミットが見つかるまで、このプロセスを繰り返します。
git checkout
git checkoutを使用して、特定のブランチにスイッチします。
git checkout <branch_name>新しいブランチを作成してスイッチするには、git checkout -b <branch_name>を使用します。
詳細については、変更内容に対するGitのブランチを作成を参照してください。
git clone
git cloneを使用して、既存のGitリポジトリをコピーします。
git clone <repository>詳細については、Gitリポジトリのクローンをローカルコンピューターに作成するを参照してください。
git commit
git commitを使用して、ステージされた変更をリポジトリにコミットします。
git commit -m "<commit_message>"コミットメッセージに空白行が含ま���ている場合、最初の行はコミットの件名になり、残りはコミットの本文になります。件名を使用して変更を簡単に要約し、コミット本文を使用して詳細を追加します。
詳細については、変更のステージング、コミット、プッシュを参照してください。
git commit --amend
git commit --amendを使用して、最新のコミットを変更します。
git commit --amendgit diff
git diffを使用して、ローカルのステージングに追加されていない変更と、クローンまたはプルした最新バージョンとの差分を表示します。
git diffローカルの変更とブランチの最新バージョンとの差分(diff)を表示できます。ブランチにコミットする前に、差分を表示してローカルの変更を把握します。
特定のブランチに対して変更を比較するには、次を実行します。
git diff <branch>出力:
- 追加された行はプラス(
+)で始まり、緑色で表示されます。 - 削除または変更された行はマイナス(
-)で始まり、赤色で表示されます。
git init
git initを使用して、Gitがリポジトリとして追跡するようにディレクトリを初期化します。
git init設定ファイルとログファイルを含む.gitファイルがディレクトリに追加されます。.gitファイルを直接編集しないでください。
デフォルトブランチはmainに設定されています。git branch -m <branch_name>を使用してデフォルトブランチの名前を変更するか、git init -b <branch_name>を使用して初期化できます。
git pull
git pullを使用して、最後にプロジェクトをクローンまたはプルした後にユーザーが行ったすべての変更を取得します。
git pull <optional_remote> <branch_name>git push
git pushを使用して、リモートrefsを更新します。
git push詳細については、変更のステージング、コミット、プッシュを参照してください。
git reflog
git reflogを使用して、Git参照ログへの変更リストを表示します。
git reflogデフォルトでは、git reflogはHEADへの変更リストを表示します。
詳細については、変更を取り消すを参照してください。
git remote add
git remote addを使用して、GitLabのどのリモートリポジトリがローカルディレクトリにリンクされているかをGitに伝えます。
git remote add <remote_name> <repository_url>リポジトリをクローンすると、デフォルトで、ソースリポジトリはリモート名originに関連付けられます。
リモートの設定の詳細については、フォークを参照してください。
git log
git logを使用して、コミットのリストを時系列順に表示します。
git loggit show
git showを使用して、Git内のオブジェクトに関する情報を表示します。
例
コミットHEADが指すものは、次のコマンドで確認できます。
$ git show HEAD
commit ab123c (HEAD -> main, origin/main, origin/HEAD)git merge
git mergeを使用して、あるブランチからの変更を別のブランチと結合します。
git mergeの代替の詳細については、マージコンフリクトをリベースおよび解決するを参照してください。
例
次の手順で、feature_branchの変更をtarget_branchに適用できます。
git checkout target_branch
git merge feature_branchgit rebase
git rebaseを使用して、ブランチのコミット履歴を書き換えます。
git rebase <branch_name>git rebaseを使用して、マージコンフリクトを解決できます。
ほとんどの場合、デフォルトブランチに対してリベースする必要があります。
git reset
git resetを使用して、コミットを元に戻し、コミット履歴を巻き戻して、以前のコミットから続行します。
git reset詳細については、変更を取り消すを参照してください。
git status
git statusを使用して、作業ディレクトリとステージングされたファイルの状態を表示します。
git statusファイルを追加、変更、または削除すると、Gitで変更を表示できます。