Windows10でGitHubを始める～⓪Gitの概念とインストールソフトの種類

学習個人メモ。

# 1.Gitの概念

概念は[サル先生のGit入門](https://backlog.com/ja/git-tutorial/intro/01/)などわかりやすいサイトがあるので参照。ここでは簡単に書く。

 - Git：分散型バージョン管理システム
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/e741be8c-f2db-3176-81b1-663ee4a35b9b.png)
 - リポジトリ：入れ物
 - リモートリポジトリ：専用のサーバに配置して複数人で共有するためのリポジトリ
 - ローカルリポジトリ：ユーザ個人が利用するために自身の手元のマシン上に配置するリポジトリ
 - ブランチ：履歴の流れを分岐して記録するためのもの

Gitはファイルの状態を更新履歴として保存できる。そのため一度編集したファイルを過去の状態に戻したり、編集箇所の差分を表示したりすることができる。

ローカルリポジトリで個人個人が編集したファイルは、リモートリポジトリにプッシュして管理する。

他人の編集した最新ファイルリモートリポジトリのファイルを上書きしようとすると、アップロード時に警告が出でたり、承認者確認フローにうつったりできる。

ブランチは枝・分岐の意味で、ファイルの変更履歴を分岐させて並行作業ができる。分岐したブランチは他のブランチの影響を受けず、同じリポジトリ中で複数の変更を同時に進めていくことができ、他のブランチと合流(マージ)することもできる。

# 2.Gitプラットフォームサービス
Gitプラットフォームサービスとして、[GitHub](https://github.co.jp/)、[BitBucket](https://bitbucket.org/)、[GitLab](https://www.gitlab.jp/)などがある。
Web上でアカウントを作成することで使用可能で、 **リモートリポジトリ** を作成し使用することができる。

# 3.Gitクライアント
Gitを使い始めるために手元の端末にインストールが必要なGitクライアントソフトとして、[TortoiseGit(トータスギット)](https://tortoisegit.org/)、[Sourcetree](https://www.sourcetreeapp.com/)、[Git](https://git-scm.com/)などがある。
Webからダウンロード可能で、これを手元の端末にインストールすることでGitを使い始めることができる。
**ローカルリポジトリ** を作成し使用することができる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/d1714990-c8a1-5402-ad39-889f3b40cd21.png)

# 4.Windows10端末でGitHubを使い始めるには

ハンズオンなどのソースがGitHubで配布されていることが多いのでとりあえず手元のWindows10端末でGitHubが使えるようになりたい。

**◆GitHubが使えるようになるまでのステップ◆**

 - 手元のWindows10端末にGitクライアントをインストールしてGitの初期設定
   - 今回はCUIベースの[Git for Windows](https://git-scm.com/download/win)をインストールすることにする
   - ローカルリポジトリ作成
   - add、commitなど
 - GitHubアカウントの作成とGitHub上の設定
   - リモートリポジトリ作成
 - GitHubと手元のWindows10端末のGit間で認証
 - コードやファイルの管理
   - push、cloneなど

# 5.ここまでの個人的つまずきポイント
 - GitとGitHubの違いがわからなかった
   - ググったら解説サイトが出てきたので学んだ
 - GitHubでコード管理したいがコードをアップロードする方法がよくわからない
   - Gitクライアントのインストールが必要って知らなかった
 - Gitクライアントの種類が多くてインストールが必要なものがどれなのかわからなかった
   - GUIベース or CUIベース
   - コマンドに慣れたいので最初からCUIベースのソフトがいいなと思ってGit for Windowsにした
   - 拡張機能で云々できるというネットの情報がよくわからなかった。VScodeの拡張機能を使っている人が周りには多かった
   - OSによって使えるものと使えないものがある

# 参考
[Windows10でGitHubを始める～⓪Gitの概念とインストールソフトの種類](https://qiita.com/emiki/items/5c8e52cf6b8506015462)
[Windows10でGitHubを始める～①Gitインストール](https://qiita.com/emiki/items/c0aa0b4da4b63921b153)
[Windows10でGitHubを始める～①'おまけGitホームディレクトリ変更](https://qiita.com/emiki/items/d3f7c054b70171218f64)
[Windows10でGitHubを始める～②GitHubアカウント作成](https://qiita.com/emiki/items/dadf77e9ae1e2b192323)
[Windows10でGitHubを始める～③GitHubでのメールアドレス設定とGitクライアントでのユーザ名・メールアドレス設定](https://qiita.com/emiki/items/4103150a5d7a7cfbff24)
[Windows10でGitHubを始める～③'おまけユーザ名・メールアドレス設定について詳細](https://qiita.com/emiki/items/24212696b54fd16e8af8)
[Windows10でGitHubを始める～④リモートリポジトリの作成（GitHub）](https://qiita.com/emiki/items/5080d948af4a2d0febf5)
[Windows10でGitHubを始める～⑤Githubにプッシュする](https://qiita.com/emiki/items/a2871ab626396e95d9ec)
[Windows10でGitHubを始める～⑥-0.Git～GitHub間の認証について](https://qiita.com/emiki/items/eeaf77d51aadef98aea9)
[Windows10でGitHubを始める～⑥-1.Git操作時のGitHub認証HTTPS（Git Credential Manager）](https://qiita.com/emiki/items/3f2ebda7280374fb3bb7)
[Windows10でGitHubを始める～⑥-2.Git操作時のGitHub認証HTTPS（Personal access token）](https://qiita.com/emiki/items/498b05ede19eee3ad916)
[Windows10でGitHubを始める～⑥-3.Git操作時のGitHub認証SSH編](https://qiita.com/emiki/items/1f1fc0bf0c2c4347148d)
[Windows10でGitHubを始める～⑦GitHubへのPullRequest](https://qiita.com/emiki/items/8619441dca761869177f)


https://futureys.tokyo/what-should-i-install-to-use-git-on-windows/

https://backlog.com/ja/git-tutorial/intro/01/

https://www.sejuku.net/blog/7901

https://www.i3design.jp/in-pocket/3111

https://siderlabs.com/blog/ja/3-major-git-platforms/

https://qiita.com/WisteriaWave/items/737dd3f3a18e3e728c9d

https://www.i3design.jp/in-pocket/3111

すごい詳しい。ありがたい↓

https://laboradian.com/git-installation-on-wndows/#3_Git_for_Windows