GitHubのコマンド集！！

# 1.はじめに
GitHubのコマンド集をまとめました。
このコマンドどんな意味だったけ？
という時に、参考にしていただければと思います。
# 2.各コマンドについて
### (1) git init
「git init」は、Gitリポジトリを新しく作成するコマンドです。Gitリポジトリとは、Gitで管理するためのファイルやディレクトリの集合です。git initコマンドを実行することで、現在のディレクトリに新しいGitリポジトリを作成することができます。
```:c
git init
```
### (2) git add .
「git add .」は、変更したファイルをステージングエリアに追加するために使用されます。このコマンドは、現在のディレクトリとそのサブディレクトリにあるすべての変更を追跡するために使用されます。
```:c
git add .
```
.(ドット)をファイル名やディレクトリ名を指定することにより、指定したファイル及びディレクトリのみをステージングエリアに追加することができます。

### (3) git commit
「git commit」は、ステージングエリアに追加された変更をローカルリポジトリにコミットするために使用されます。コミットすることで、変更履歴がローカルリポジトリに保存され、過去の変更内容を参照することができます。

```:c
git commit
```
また、以下のように実行することもできます。

```:c
git commit -m "commit message"
```
「-m」は、コミットメッセージを指定するオプションです。コミットメッセージは、変更内容やコミットの目的などを簡潔に記述することが望ましいです。また、コミットメッセージは変更内容を記載し、過去形を使うことが一般的です。



### (4) git status
「git status」は、現在のブランチの状態や、ステージングエリアに追加された変更の情報を表示するために使用されます。このコマンドを使用することで、Gitの管理下にあるファイルやディレクトリの状態を確認することができます。
```:c
git status
```
実行すると、現在のブランチ名、ステージングエリアに追加されたファイルの状態、変更されたがステージングエリアに追加されていないファイルの状態などが表示されます。表示される情報は、実行時の状態に応じて異なる場合があります。
### (5) git diff
「git diff」は、ファイルの変更内容を比較するために使用されます。このコマンドを使用することで、変更前と変更後のファイルの内容を比較することができます。
```:c
git diff <file>
```
「file」には、比較したいファイルのパスを指定します。指定したファイルの変更内容が表示されます。また、コミットハッシュやブランチ名などを指定することもできます。
### (6) git log
「git log」は、コミット履歴を表示するために使用されます。このコマンドを使用することで、ローカルリポジトリに保存されたコミット履歴を確認することができます。
```:c
git log
```
実行すると、コミットのハッシュ値、作成者、作成日時、コミットメッセージなどの情報が表示されます。最新のコミットから過去に向かって表示されます。
### (7) git checkout <ファイル名>
「git checkout <ファイル名>」は、指定したファイルを直前のコミット時点の状態に戻すために使用されます。このコマンドを使用することで、誤って変更したファイルを元に戻したり、過去の状態に戻したりすることができます。
```:c
git checkout <file>
```
「file」には、戻したいファイルのパスを指定します。指定したファイルが直前のコミット時点の状態に戻ります。ただし、変更内容がすべて失われるため、実行前には注意が必要です。
### (8) git remote add origin
「git remote add origin」は、リモートリポジトリを指定するために使用されます。このコマンドを使用することで、ローカルリポジトリとリモートリポジトリの接続を確立することができます。
```:c
git remote add origin <remote repository URL>
```
「remote repository URL」には、リモートリポジトリのURLを指定します。これにより、ローカルリポジトリとリモートリポジトリを接続します。接続が成功すると、リモートリポジトリにコミットをプッシュすることができます。

### (9) git push origin <リポジトリ名>
「git push origin <リポジトリ名>」は、Gitのコマンドの一つで、ローカルリポジトリの変更内容をリモートリポジトリにプッシュするために使用されます。このコマンドを使用することで、ローカルリポジトリで行った変更をリモートリポジトリに反映させることができます。
```:c
git push origin <branch>
```
「origin」は、リモートリポジトリの名前であり、「branch」は、プッシュするブランチの名前です。このコマンドを実行することで、ローカルリポジトリで指定したブランチの最新のコミットがリモートリポジトリにプッシュされます。
### (10) git clone
「git clone」は、リモートリポジトリからローカルリポジトリを作成するために使用されます。このコマンドを使用することで、リモートリポジトリの内容をローカルに複製することができます。
```:c
git clone <URL>
```
「URL」には、クローンしたいリモートリポジトリのURLを指定します。実行すると、リモートリポジトリの内容がローカルリポジトリに複製されます。
### (11) git branch <ブランチ名>
「git branch <ブランチ名>」は、新しいブランチを作成するために使用されます。このコマンドを使用することで、指定した名前の新しいブランチが作成されます。
```:c
git branch <ブランチ名>
```
「ブランチ名」には、作成するブランチの名前を指定します。指定した名前で新しいブランチが作成されます。ただし、このコマンドだけでは、新しいブランチにはチェックアウトされず、現在チェックアウトしているブランチのままです。
### (12) git branch
「git branch」は、ブランチの一覧を表示したり、新しいブランチを作成したりするために使用されます。Gitでは、ブランチを使って複数のバージョンを管理することができます。
```:c
git branch
```
実行すると、現在のリポジトリに存在するブランチの一覧が表示されます。また、現在チェックアウトしているブランチの前に「*」が表示されます。
### (13) git checkout <ブランチ名>
「git checkout <ブランチ名>」は、指定したブランチにチェックアウトするために使用されます。このコマンドを使用することで、ブランチを切り替えることができます。
```:c
git checkout <ブランチ名>
```
「ブランチ名」には、チェックアウトしたいブランチの名前を指定します。指定したブランチにチェックアウトされます。現在のブランチで変更した内容はステージングエリアやコミットに影響を与えません。切り替えた後に必要な作業がある場合は、コミットを作成する前にステージングエリアに追加する必要があります。
### (14) git merge <ブランチ名>
「git merge <ブランチ名>」コマンドは、指定したブランチを現在のブランチにマージするために使用されます。
```:c
git checkout <ブランチ名>
```
具体的には、例えば「feature」ブランチで新しい機能を実装した場合、その機能が正常に動作することを確認して、それを「master」ブランチに統合する必要があります。この場合、「git merge master」を「feature」ブランチで実行することで、「master」ブランチの内容を「feature」ブランチにマージすることができます。このマージにより、両方のブランチで変更内容が統合され、1つのブランチにまとめられます。ただし、マージにより競合（コンフリクト）が発生する可能性があるため、競合を解決する必要がある場合があります。競合が発生した場合は、手動で競合を解決するか、競合が発生しないようにブランチを適切に管理する必要があります。

### (15) git branch -m<旧ブランチ名> <新ブランチ名>
「git branch -m <旧ブランチ名> <新ブランチ名>」は、既存のブランチの名前を変更するために使用されます。このコマンドを使用することで、指定したブランチの名前を変更することができます。
```:c
git branch -m <旧ブランチ名> <新ブランチ名>
```
「旧ブランチ名」には、変更前のブランチの名前、「新ブランチ名」には、変更後のブランチの名前を指定します。指定した名前でブランチ名が変更されます。
### (16) git branch -d <ブランチ名>
「git branch -d <ブランチ名>」は、指定したブランチを削除するために使用されます。このコマンドを使用することで、指定したブランチを削除することができます。
```:c
git branch -d <ブランチ名>
```
「ブランチ名」には、削除したいブランチの名前を指定します。指定したブランチが削除されます。ただし、そのブランチがマージされていない場合は、削除できません。マージされていないブランチを強制的に削除する場合は、オプション「-D」を使用します。
# 3.まとめ
主なGitHubのコマンドをまとめてみました。
GitHubでコマンドを使用する際に、少しでも参考になれば幸いです。