Git
Gitはエンジニアだけではなく、WebデザイナーやWebライターなど、ITに携わるほとんどの方の必須知識です。
Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための「分散型バージョン管理システム」です。 複数の作業者が同時に変更を行ったり、複数の履歴を共同で管理するための機能をあわせ持っています。
Gitは以下のようなことができます。
①ファイルの変更履歴が管理できるため、誰が変更したかわかる。
②変更履歴から変更前に戻すことができます。
③編集作業が複数つくることができる。
④ファイルの共有利用ができる。
⑤全ての編集が一つのファイルに合体できる。
Gitの特徴
Gitは、自分のパソコンに全ての変更履歴を含む完全なフォルダの複製を作成できる、分散型バージョン管理システムといいます。
元フォルダのコピー(ローカルリポジトリ)を自身の手元において、編集ができます。

SAMURAI ENGINEER Blog参考抜粋
Gitでのバージョン管理
あるディレクトリを根とする木(ディレクトリツリー)で管理します。
現在のディレクトリツリーの状態をコミット(追加、登録)すると、そのディレクトリツリーが1つのバージョンとなってレポジトリに入ります。

補足
gitの分散型管理システムまでは、サーバ上の1つのフォルダを共同で使っていました。これを集中型管理システムといいます。
利用者が増えると、問題が起こってしまい、整合性を維持することが困難になっていました。
SVNまたは、Subversionといいます。
仕様書のドキュメントを作成や、設計書を管理する場合につかわれています。

SAMURAI ENGINEER Blog参考抜粋
基本用語

リポジトリ(repository)
repository (リポジトリ、または、レポジトリ)は、ファイルやディレクトリを入れて保存しておく貯蔵庫です。上の図にあるリモートリポジトリが、ネットワーク上のサーバーに存在するリポジトリで、ローカルリポジトリが、自分のローカル環境(自分のコンピュータ)に作成されるリポジトリです。
クローン(clone)
ダウンロードに近い作業のこと。リモートリポジトリからローカル環境に保存する機能で、最初に行う作業です。
コミット(commit)
ファイルやディレクトリの編集作業をローカルリポジトリに記録するために必要な操作
プル(pull)
リモートレポジトリに保存されているファイルをローカルリポジトリ(ローカル環境)にダウンロード(落とす)機能です。差分の分がダウンロードされます。
フェッチ(fetch)
リモートリポジトリから最新の情報を取得する操作。pullとの違いは、ローカルリポジトリのファイルを更新しない。
| 実行コマンド | 説明 | 備考 |
| clone | リモートリポジトリからプロジェクト全体を完全コピーし、取得 | 何もない状態からプロジェクトをダウンロード |
| pull | ローカルリポジトリを更新し、リモートリポジトリの最新の変更を取得 | 差分をダウンロード |
| fetch | リモートリポジトリから最新の変更を取得するだけで、ローカルの作業ツリーには変更を反映しない | 手動でマージを使用する際に使用 |
プッシュ(push)
ローカルリポジトリのファイルをリモートリポジトリに送信(アップロード)して保存する機能
ブランチ(branch)
ファイルを編集履歴を分岐させて記録する機能
マージ(merge)
複数のブランチを一つにまとめること。

Git、GitHubの導入
これから課題を提出してもらう際に、この章からGitHubでの提出に切り替えます。実際に現場でGitを使用するという意識で、規約を守り実行していきましょう。
GitHubについて
Gitの仕組みと連携して、他のユーザーとやりとりしやすくしているWEBサービスの名称のことです。他にGitLab、BitBucketなどがあります。
Gitのインストール
Windowsの場合
GitBashのダウンロード 
Git for Windows こちらよりダウンロードしてインストールしてください。
for Win ダウンロード手順方法 ⇒ Windows 参考
Macの場合
for Mac ダウンロード手順方法 ⇒ Mac 参考
for Mac ダウンロード手順 progate参考の方 ⇒ Mac progate
GitHubアカウント設定
GitHub公式ページ https://github.co.jp/
GitHubアカウント設定手順 設定手順
課題:GitHubに招待してもらうように申請しよう!
まずはDiscordの自分のボックス内に、GitHubを設定したときのメールアドレスを送ってください。
GitHubの招待:実際の現場において、プロジェクト用のGitHubアカウントがある場合は、そのアカウントに招待してもらいます。
GitHubを設定したメールアカウントに招待メールが届きますので、確認して、プロジェクト用GitHubのサイトを確認してください。
1.GitHub用メールアドレスを招待者に告げる
2.メールが届く
3.メール内容から招待ページに入る
techUPテスト用ページ https://github.com/fujimoto-mio/techUP_study
招待後:gitの設定をしよう!
ここからは、コマンドの操作が必要になります。ProgateのCommandLineの項目を学んでおいてください!
また、事前にProgateのGitの項目を学ぶことをオススメします!
gitを使う際に必要となる設定などをしていきます。
Git Bash(Macの人はターミナル) の画面で以下を作業してください。
|
1 2 3 4 |
[localhost~]$ git config --global user.name "your_name" //① [localhost~]$ git config --global user.email "your_email@mail.com" //② [localhost~]$ git config --global color.ui true //③ [localhost~]$ git config -l #system(/etc/gitconfig)の設定値(現在の設定状況)が確認できます。 //④ |
※表示解除する場合【q】キーを押してください。
「git config -l」で以上で設定した3項目に、間違いがないことを確認できましたら次に進みましょう!
課題・復習用検索キーワード
| 検索例 |
| 🔍git 構造 |
| 🔍git configとは |
| 🔍git 表示の解除 |