【TortoiseGit】Gitの基本操作をマウスだけで行う！

## 目次
1. TortoiseGitとは？
2. インストール方法
3. よく使うコマンドをまとめてみた
4. 操作方法について
5. 参考記事

## 1. TortoiseGitとは？ 
* TortoiseGitとは、バージョン管理ソフトであるGitをより扱いやすくするために開発されたWindows用ソフトウェアのこと
* ターミナル上でGitコマンドを実行するということに抵抗があるという方にオススメです！
* TortoiseGitGitはファイルを右クリックすることで、リポジトリのクローンやブランチの作成、プッシュなど基本操作がマウスだけでできるようになります
* 料金：無料

## 2.インストール方法
TortoiseGitを使うために必要なインストールするものは２つ！
* TortoiseGit 
* 日本語言語パック

※ TortoiseGitは上記でも説明している通り、Gitを便利に使うためのツールであるため、
前提として「GitforWindows」を先にインストールしておくことが必要です。

インストール方法は[こちら](https://sukkiri.jp/technologies/devtools/git/tortoisegit_win.html)の記事が分かりやすいのでご参考までにご覧ください。

## 3. よく使うコマンドをまとめてみた
TortoiseGitでよく使う操作一覧　※Gitコマンドの一覧は[こちら](https://qiita.com/kohga/items/dccf135b0af395f69144)
|No|コマンド|意味|
|:---:|:---|:---|
|1|クローン|リモートリポジトリに保存されているプロジェクトCDを、ローカルリポジトリに複製すること|
|2|ブランチ作成|既存のコードベースを派生して変更を加えるために新しい作業場所を作ること|
|3|ブランチ名変更|作業場所の名前を変えること|
|4|チェックアウト|作業場所を切り替えること（ブランチの切り替え）|
|5|プッシュ|コミットした変更履歴をリモートリポジトリに反映すること|
|6|プル|フェッチの動作に加え、リモートリポジトリの最新の変更を現在のブランチに自動で適用（マージあるいはリベース）する|
|7|フェッチ|リモートリポジトリの最新情報をローカルリポジトリに取り込むこと<br>※ローカルの作業ブランチに影響を与えずにリモートの最新情報を確認できるが、フェッチした情報を現在のブランチに適用させるには別途マージまたはリベースの操作が必要
|8|コミット|変更したファイルやコードを保存すること|
|9|差分確認|TortoiseGitではコミット間の差分をファイルごとに表示する|
|10|リバート|コミット取り消しすること|


## 4. 操作方法について

#### クローン
1. Gitリポジトリ上からクローンするURLをコピーする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/8bca2f0f-b444-2a20-c1d6-bf6b98c28cb6.png)
2. エクスプローラのクローンしたい場所で右クリック ＞ Git クローン(複製)...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/dace9bcb-4c22-9f46-3735-c4ac37c6ecd6.png)
3. URLが正しいか確認し、OKボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/8d24fa78-0f56-d04c-4ee4-5d76613523f2.png)
4. クローンが開始される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/6de468f5-2d0c-7e97-fa83-7731a8ecaace.png)
5. 指定したディレクトリにリポジトリがクローンされます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/ecefcf38-fde1-1610-5579-f7e696108e2d.png)

---

#### ブランチ作成

1. クローンしたフォルダを右クリック > TortoiseGit > ブランチを作成(B)...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/7c8384c1-ee6c-ab02-9050-cb6038432520.png)
:::note warn
注意
ブランチ名は何の追加か？何の修正か？など一目で分かりやすく簡潔につける！
具体的には[こちら](https://qiita.com/c6tower/items/fe2aa4ecb78bef69928f)の命名規則に従うことをお勧めします。
:::

---

#### ブランチ名変更
1. クローンしたフォルダを右クリック > TortoiseGit > refブラウザ
2. 名前を変更したいブランチを選択し右クリック > 名前変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/7d9b20b9-da01-f9a7-0261-ab47860cd458.png)

---

#### ブランチ切替/チェックアウト
1. クローンしたフォルダを右クリック > TortoiseGit > 切り替え/チェックアウト(W)...
2. ブランチを選択 > OKを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/8012694f-79db-b1d0-fd15-62e89d34a2d1.png)
3. 切替に成功すると下記の画面が表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/f0073f0c-e754-7f00-ade1-0c5076e0e625.png)
4. 切り替わっているか確認する時はフォルダを右クリックして確認する事ができます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/b0781ca2-8933-efac-4f35-3b4c11b17adf.png)

---

#### プッシュ
1. クローンしたフォルダを右クリック > TortoiseGit > プッシュ(H)...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/92c147cf-ab26-a92a-df6a-3f434e26ca85.png)
2. 「成功」の表示が出たら完了です

---

#### プル
1. クローンしたフォルダを右クリック > TortoiseGit > プル(P)...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/fde7f0d1-e3ab-f2fe-6f47-ac7641cc3dae.png)
2. 「成功」の表示が出たら完了です
:::note warn
注意
ローカルでブランチ作成後、リモート環境にプッシュしないでプルをするとエラーになります。リモート環境にあるか確認してプルしましょう！
:::

---

#### フェッチ
1. クローンしたフォルダを右クリック > TortoiseGit > フェッチ(E)...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/0f12f98f-ce37-87d3-d2d3-b9aaa673c40b.png)
2. 「成功」の表示が出たら完了です

---

#### コミット
1. クローンしたフォルダを右クリック > Gitコミット(C)->"ブランチ名"
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/7e89e511-7de9-40b3-7971-1ff64c8445e9.png)
2. 修正内容のメッセージと変更したファイルにチェックを入れ、コミットを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/8cae8806-3ef3-5587-0b88-96cdc66ea53d.png)
3.「成功」の表示が出たら完了。そのままリモートにプッシュする場合はプッシュを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/757c33bd-1762-4511-d618-6a5a63b7ab94.png)
4.プッシュの手順については、上記と同様


---

#### 差分確認
1. クローンしたフォルダを右クリック > ログを表示
2.どこからどこまでの差分を確認したいか選択する（shiftボタンを押しながらクリックすると複数選択できます） > 右クリック　＞リビジョンの比較(C)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/c046f1ed-afb3-9174-5196-5e6b58014450.png)
3. 選択したバージョンが入力された状態で、画面下に差分が確認されたファイルが表示される。これをダブルクリックする
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/7966d2f5-1c17-988f-427b-b3c788e9992b.png)
4.変更前と変更後で差分箇所が色分けされて表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/33637163-6db9-ae46-8bc0-52653c8642e8.png)

---

#### コミット取り消し/リバート
1. クローンしたフォルダを右クリック > ログを表示 > このコミットの変更をも同(R)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/0a7b80fe-f8ba-6010-a17f-3a31c74c309b.png)
2. 「OK」を押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/14be8a82-5e8c-e94e-e07e-dc051cd90e3c.png)
3. クローンしたフォルダを右クリック > TortoiseGit > コミット > リバートした内容がメッセージに自動で表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672389/8dea71f1-9eb8-f1eb-1266-3b76ee288d89.png)
4.プッシュして終了
:::note warn
注意
もし競合が起きた場合は、[こちら](https://zenn.dev/peishim/articles/81a34f80685cf4)を参考にしてみてください。
:::

## 5. 参考記事
https://cmc-japan.co.jp/blog/what-is-github/
https://trends.codecamp.jp/blogs/media/difference-word149