ガクセイハッカソン

Git操作チートシート

2023-12-19 公開

この記事では、Gitでよく使用するコマンドを紹介します。
バージョン管理システム「Git」の解説はこちらの記事にまとまっているので、これからGitを学ぶ人はぜひ読んでください。
(初学者向け)Gitを学ぼう

Git頻出コマンド

clone

git clone は既存のリポジトリを指定したディレクトリにコピーするコマンドです。

(画像引用元: これでもう怖くない、Git/GitHubにおけるリモートリポジトリの作成、確認、変更、更新時の基本5コマンド)

git clone は以下のように実行します。

git clone [リポジトリのパス]

ここでの[リポジトリのパス]は以下の画像のように、GitHub からコピーできます。

pull

git pull はリモートリポジトリから最新の状態をローカルリポジトリに取り込むコマンドです。

git pull

fetch

git fetch はリモートリポジトリの最新の状態を取得するコマンドです。 git pullと似ていますが、マージ(取り込み)は自動で行わず、必要に応じて手動で行う必要があります。

git fetch

status

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")

branch

git branch は現在のローカルブランチの表示および、ブランチの作成を行うコマンドです。
ブランチは Git における履歴の流れを分岐して記録するもので、分岐したブランチは他のブランチの影響を受けず、開発を進めることができます。

現在のローカルブランチの表示するには以下のように実行します。

git branch

またブランチ名を指定することで、現在のローカルブランチを元に、指定したブランチを作成できます。

git branch [作成するブランチ名]

-dオプションを使うと、ブランチを削除できます。

git branch -d [削除するブランチ名]

※ 現在のブランチは削除できません。checkoutコマンドで別のブランチに移動してから行いましょう。

checkout

git checkout は対象ブランチの切り替えを行うコマンドです。開発用ブランチや、本番用ブランチなど切り替える時に使いましょう。

ブランチを切り替えるには以下のように実行します。

git checkout [切り替え先のブランチ名]

-bオプションでブランチの作成および切り替えを同時に行うこともできます。

git checkout -b [作成および切り替え先のブランチ名]

add

git add は新たに編集(追加/変更/削除)をしたファイルをインデックスに追加するコマンドです。後述するcommitを行うことで、addによりインデックスに追加されたファイルがローカルリポジトリに反映されます。

新たに編集(追加/変更/削除)をしたファイルをインデックスに追加するには以下のように実行します。

git add [新たに編集(追加/変更/削除)をしたファイルパス1] [ファイルパス2] ... [...]

複数ファイルを追加する場合はスペース区切りで続けることで一度に実行できます。またカレントディレクトリ配下すべてのファイルを追加するには以下のように実行します。

git add .

commit

git commitgit add によりインデックスに存在するファイルをコミットするコマンドです。

git commit

実行後、エディタが起動し、コミットメッセージを入力しコミットが完了します。
-mオプションを使うとコミットメッセージを含めたコミットを一度に行うことができます。

git commit -m "[コミットメッセージ]"

push

git push はリモートリポジトリの変更をリモートリポジトリに merge するコマンドです。git pull の反対の役割であり、自身の変更内容をリモートリポジトリに反映させます。

git push [リモートリポジトリ名] [ブランチ名]

merge

git merge は枝分かれしたブランチを取り込むコマンドです。ブランチを分けて作業した場合、最終的にマージさせて統合させる必要があります。

git merge [mergeしたいブランチ名]

Pull Request の作成方法

Pull Request はGitHubの機能で、リモートリポジトリを更新した際に他のメンバーにその更新内容を受け取って(pull)くださいというリクエストをGitHub上で出すことができます。

Pull Request の詳細を知りたい方は以下を参照してください。サル先生の Git 入門「プルリクエストとは?」

実際に Pull Request をしてみよう

  1. git pushで変更をリモートリポジトリに反映した後、GitHub上の自身のコミットが含まれるブランチに移動しましょう
  2. ファイル一覧の上にある以下画像のような黄色のバナー上の「Compare & Pull request」を押しましょう
  3. 変更を merge する対象のブランチを選択し、Pull Request のタイトルと説明を記入します
  4. 最後に「Create pull request」をクリックし完了です。

Pull Request 作成後、他の編集者は request が来ているかGitHub上で確認しましょう。Pull Requestには変更内容に対してコメントをすることもできます。この変更内容の確認とコメントのやり取りを「コードレビュー」と言います。

変更内容に問題なければ、リポジトリの管理者が「Merge pull request」をクリックし変更がマージがされます。

まとめ

Gitでよく使うコマンドを紹介しました。参考にしつつ、Gitを実際に使って経験を積んでいきましょう。

参考リンク

関連記事