ガクセイハッカソン#1の開催レポート
2023-12-19 公開
この記事では、Gitでよく使用するコマンドを紹介します。
バージョン管理システム「Git」の解説はこちらの記事にまとまっているので、これからGitを学ぶ人はぜひ読んでください。
(初学者向け)Gitを学ぼう
git clone
は既存のリポジトリを指定したディレクトリにコピーするコマンドです。
(画像引用元: これでもう怖くない、Git/GitHubにおけるリモートリポジトリの作成、確認、変更、更新時の基本5コマンド)
git clone は以下のように実行します。
git clone [リポジトリのパス]
ここでの[リポジトリのパス]は以下の画像のように、GitHub からコピーできます。
git pull
はリモートリポジトリから最新の状態をローカルリポジトリに取り込むコマンドです。
git pull
git fetch
はリモートリポジトリの最新の状態を取得するコマンドです。 git pull
と似ていますが、マージ(取り込み)は自動で行わず、必要に応じて手動で行う必要があります。
git fetch
git status
リポジトリ内での変更の状態を確認するために使用されるコマンドです。このコマンドを実行すると、現在のブランチでの変更やステージングエリア(インデックス)にある変更、および未追跡のファイルに関する情報が表示されま
次にコマンドの実行結果の例を示します。
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
no changes added to commit (use "git add" and/or "git commit -a")
git branch
は現在のローカルブランチの表示および、ブランチの作成を行うコマンドです。
ブランチは Git における履歴の流れを分岐して記録するもので、分岐したブランチは他のブランチの影響を受けず、開発を進めることができます。
現在のローカルブランチの表示するには以下のように実行します。
git branch
またブランチ名を指定することで、現在のローカルブランチを元に、指定したブランチを作成できます。
git branch [作成するブランチ名]
-dオプションを使うと、ブランチを削除できます。
git branch -d [削除するブランチ名]
※ 現在のブランチは削除できません。checkout
コマンドで別のブランチに移動してから行いましょう。
git checkout
は対象ブランチの切り替えを行うコマンドです。開発用ブランチや、本番用ブランチなど切り替える時に使いましょう。
ブランチを切り替えるには以下のように実行します。
git checkout [切り替え先のブランチ名]
-bオプションでブランチの作成および切り替えを同時に行うこともできます。
git checkout -b [作成および切り替え先のブランチ名]
git add
は新たに編集(追加/変更/削除)をしたファイルをインデックスに追加するコマンドです。後述するcommit
を行うことで、add
によりインデックスに追加されたファイルがローカルリポジトリに反映されます。
新たに編集(追加/変更/削除)をしたファイルをインデックスに追加するには以下のように実行します。
git add [新たに編集(追加/変更/削除)をしたファイルパス1] [ファイルパス2] ... [...]
複数ファイルを追加する場合はスペース区切りで続けることで一度に実行できます。またカレントディレクトリ配下すべてのファイルを追加するには以下のように実行します。
git add .
git commit
は git add
によりインデックスに存在するファイルをコミットするコマンドです。
git commit
実行後、エディタが起動し、コミットメッセージを入力しコミットが完了します。
-mオプションを使うとコミットメッセージを含めたコミットを一度に行うことができます。
git commit -m "[コミットメッセージ]"
git push
はリモートリポジトリの変更をリモートリポジトリに merge するコマンドです。git pull
の反対の役割であり、自身の変更内容をリモートリポジトリに反映させます。
git push [リモートリポジトリ名] [ブランチ名]
git merge
は枝分かれしたブランチを取り込むコマンドです。ブランチを分けて作業した場合、最終的にマージさせて統合させる必要があります。
git merge [mergeしたいブランチ名]
Pull Request はGitHubの機能で、リモートリポジトリを更新した際に他のメンバーにその更新内容を受け取って(pull)くださいというリクエストをGitHub上で出すことができます。
Pull Request の詳細を知りたい方は以下を参照してください。サル先生の Git 入門「プルリクエストとは?」
git push
で変更をリモートリポジトリに反映した後、GitHub上の自身のコミットが含まれるブランチに移動しましょうPull Request 作成後、他の編集者は request が来ているかGitHub上で確認しましょう。Pull Requestには変更内容に対してコメントをすることもできます。この変更内容の確認とコメントのやり取りを「コードレビュー」と言います。
変更内容に問題なければ、リポジトリの管理者が「Merge pull request」をクリックし変更がマージがされます。
Gitでよく使うコマンドを紹介しました。参考にしつつ、Gitを実際に使って経験を積んでいきましょう。