gitコマンドのまとめ(備忘録)です。
忘れたときやこれなんだったっけ?って時に思い出せればという気持ちでアウトプットしました。
gitのイメージをまとめてみた
1. リポジトリ作成に使うコマンド
$ git init
- カレントディレクトリにローカルリポジトリを新しく作成する。作成されたリポジトリには .git という名前のディレクトリが作成され、gitのプログラムはこの .git ディレクトリを使用することで、リポジトリのバージョン変更履歴を管理している。
$ git clone コピーするディレクトリ名(or URL)
- すでに存在しているリポジトリ(ローカルでもリモートでもどちらでも)を指定したディレクトリにコピーする。コピーするリポジトリはgithubのURL(github上のリポジトリ)をコピーして使用することが多い印象。指定するディレクトリは省略可能で、その場合はカレントディレクトリにコピーされる。
2. リモートリポジトリから行動するコマンド
originとはリモートリポジトリのローカルに登録されている名前で、mainはローカルのmainブランチを指す
$ git push マージ先のリモートリポジトリ マージ元のローカルリポジトリ
- ローカルリポジトリの変更点をリモートリポジトリにアップロードする。ただし自身が想定していない変更をリモートリポジトリにマージしてしまうと、チームに迷惑になるので
$ git diff
で変更部分を確認することが推奨されている。-
$ git push origin main
で push することが多い印象
-
$ git pull マージ元のリモートリポジトリ マージ先のローカルリポジトリ
- チーム開発で他の仲間がリモートリポジトリにマージした変更内容を、自身のローカルリポジトリに取り込むためのコマンド。
-
$ git pull origin main
で pull することが多い印象
-
3. コミットを操作するコマンド
$ git add
- 新たに追加・変更・削除したファイルを作業ディレクトリからステージングエリアに追加するコマンドです。コミット時にはステージングエリアに追加されたファイルが全てローカルリポジトリに加えられる。
-
$ git add .
でカレントディレクトリ配下で追加・変更・削除された部分を一括で追加できる。
-
$ git commit -m "メッセージ"
- インデックスに存在する全ての変更されたファイルをコミットする(ローカルリポジトリにマージする)コマンド。
-
-m
でメッセージを追加するオプション
-
$ git log
- コミットの履歴を表示する。履歴閲覧を終了する場合は
q
を入力する
4. 作業ツリーを操作するコマンド
作業ツリーとは、ユーザーが実際に変更するファイルの格納されたディレクトリで、前述の$ git init
コマンドでリポジトリを作成したディレクトリとも言い換えられます。
$ git status
-
指定したディレクトリ内に下記の条件を満たすファイルがあれば、一覧で表示するコマンドです。
- gitの管理対象に含まれていない(新たに追加した)ファイル
- ステージングエリアに追加されたが、まだコミットされていないファイル
- ステージングエリアに追加されていないが、変更されているファイル
-
ディレクトリを省略すると、作業ツリー全体のファイル状態を表示する。
$ git diff
- 作業ツリー内の指定ファイルをリモートリポジトリのものと比較して、差分のある箇所を表示するコマンドです。
- ディレクトリを指定した場合は、ディレクトリ内にある全ファイルの差分を一括で表示可能。ディレクトリを省略した場合は、作業ツリー内にある全ファイルの差分を表示する。
5. ブランチを操作するコマンド
ブランチとは、リモートリポジトリやローカルリポジトリをコピーして、分岐リポジトリを作る機能です。チーム開発や個人開発でよく使われる。
$ git branch
- ブランチの一覧を表示したり、作成・削除するなどのブランチ操作を行う。
$ git switch -c branch名
- 現在処理対象になっているブランチを基点に新たなブランチを作成するコマンド。
$ git checkout -b branch名
も同じコマンドである。
$ git switch branch名
- 処理対象のブランチを切り替えるコマンド。
$ git checkout branch名
も同じコマンドであるが、入力したブランチがローカルに存在していないかつリモートに対応ブランチが存在している場合のみ新しくブランチが作成できる。
$ git fetch リモート名 branch名
- リモートにあるブランチの最新情報をそれに対応しているローカルのブランチに反映させるコマンド。
branch名
を省略するとリモートのブランチすべての最新情報を反映できる。
例えば
$ git fetch origin
$ git checkout issues/#
と入力すると、リモートのブランチの最新情報をすべて取得し、そのまま、issues/#
という新しいブランチをローカルに作成することができる。これはgithubでissuesとそれに対応したリモートブランチを作成したあとにローカルに対応させるために用いる。
図にまとめてみた
参考にしたウェブサイト様
https://www.sejuku.net/blog/5816
https://docs.github.com/ja/get-started/quickstart/hello-world#creating-a-repository