はじめに
Udemyのこちらの講座でGitHubの勉強をしたので、メモ代わりに書いていきます。
もう怖くないGit!チーム開発で必要なGitを完全マスター
Gitは何のために使うのか?
⇨ ファイルのバージョンを管理するために使う!
ファイルのバージョンを管理しないと...
・最新のファイルがわからなくなる。
・誰がいつ、何を変更したのかわからなくなる。
ファイルのバージョンを管理すれば...
・ファイルの最新の状態がわかる!
・いつ、誰が、何を変更したのかがわかる!
・以前の状態にも戻せる!
GitHubとは?特徴とは?
⇨ GitHubとはコードのホスティングサービス
GitHubの特徴
・プルリクエストで複数人開発できる。
・世界中のチームがGitHub上で開発をしている。
・他の人が書いたコードなどを見ることができる。
などたくさんあります。
Gitの初期設定
ターミナルに自分のGitHubアカウントを認識させます。
git config --global user.name "githhubに登録したユーザー名"
git config --global user.email "githhubに登録したEメールアドレス"
Gitの基本的な仕組み
・Gitはスナップショットで保存されている。
なぜ⇨ 複数人での開発スピードを上げるため
スナップショットとは
⇨ ある時点でのソースコードや、ファイル、ディレクトリ、データベースファイルなどの状態を抜き出したもの
・コミットをたどることで以前の状態に戻せる
Git操作の流れ
チーム開発を行うときの流れ
1,ワークツリーでファイルの編集などを行う
2,ローカルリポジトリにスナップショットを記録
3,記録したスナップショットをGitHubのリモートリポジトリにアップ
4,リモートリポジトリからローカルリポジトリにデータを取ってくる。
5,ワークツリーに取ってきたデータを反映。
みたいな感じです。画像にある「プル」や「フェッチ」などの操作はまた後で説明します。
ローカルの構成
ローカルの中身は3段階で構成がされています。
作業フォルダ
⇨ 作業フォルダがワークツリーと呼ばれるもので、コードを書いて編集したりする場所です。
ステージ
⇨ コミットする変更を準備する場所。データを一時的に置いておく場所とでも思ってもらえれば最初はいいかなと思います。
リポジトリ
⇨ こちらはローカルリポジトリと呼ばれるところで、スナップショットを記録しておく場所になります。
ちなみに、git addやgit commitなどが行われている裏側で起きていることがこちらです。↓
ここまでは、「Gitはステージに追加してコミットする際に、圧縮ファイル、ツリー、コミットという3種類のファイルを作成してデータを保存している」というイメージ。
Gitのデータ構造のまとめ
・リポジトリに圧縮ファイル、ツリー、コミットという3種類のファイルを作成してデータを保存している。
・コミットが親コミットを持つことで変更履歴を辿ることができる。
・Gitの本質はデータを圧縮して、スナップショットで保存すること。
・Gitのコマンドは、そのデータに対して色々な操作をしている。