初心者の人が誰でもぶつかるであろう(全くの初心者だった自分がたくさんの時間を使ったため)、GitとGitHubの初期設定からワークフローの流れをメモ的に共有しておきます。
【参考URL】
・GitHubでSSH接続する手順(https://qiita.com/shizuma/items/2b2f873a0034839e47ce)
・GitHubの初期設定(https://qiita.com/drapon/items/441e18452b25060d61f1)
・【Mac】Gitの環境構築(https://proggit -8.com/blogs/git-preparation-mac)
・初めてのGitとGitHub(https://www.udemy.com/intro_git/learn/v4/content)
・Githubのプライベートリポジトリに他のユーザーを招待する方法(https://code-schools.com/github-invite/)
※上のURL内容を勉強するだけで、GitとGitHubの初期設定からワークフローに移るまでの流れは
できると思います。
【全体の流れ】
Gitの初期設定→GitHubの初期設定→ワークフローという流れ
【以下メモ】
Gitとは?
Git=バージョン管理ソフト
→なぜファイルのバージョン管理をするのか
→「どのファイルの何を」「誰が」「いつ」「何のために」変更したかわかる
Ex. 最新のファイルがどれかわかる、複数人での作業が楽に、元の状態に戻せる
Gitの仕組み
変更履歴を時系列順に記録できる+記録する際にはメッセージがつける
→「どのファイルの何を」「誰が」「いつ」「何のために」変更したかわかる
Ex. 記録1:A機能追加→記録2:文言追加→記録3:速度向上
※記録を過去に遡れる
開発の流れ:個人
①ファイルを変更、その履歴を→個人リポジトリへ:ファイルとファイルの変更状態を保存
※この過程がcommit
②個人リポジトリ→共有リポジトリへ変更を共有
※この過程がpush
開発の流れ:複数人
①共有リポジトリの情報を同期
※この過程がpull:情報を取得
②ファイルを変更、その履歴を→個人リポジトリへ:ファイルとファイルの変更状態を保存
※この過程がcommit
③個人リポジトリ→共有リポジトリへ変更を共有
※この過程がpush
この流れを複数人で行う
Githubとは?
→Gitリポジトリ(コード)のホスティングサービス
→Gitで行なった変更履歴などをオンライン上で扱ってくれるサービス
=ソーシャルコーディングの場
Ex. Git:コード預かって〜→GItHub:了解
GitHubの特徴
・プルリクエストによるコラボレーション
→自分が書いた、変更したコードについて取り込んでもらえるようにリクエストする機能
・他チームのソフトウェアがみれる
→世界中のチームがGitHubで開発:参加も閲覧もできる
Gitリポジトリ(コード)のホスティングサービス
GitHubの他にも、Bitbucketもある
→特徴:非公開リポジトリ作成無料(個人、2〜3人可能)
→公開不可のプロジェクト向き
ローカルリポジトリの新規作成
バージョン管理をするためには、まず、Gitリポジトリが必要
リポジトリ:ファイルやディレクトリの状態、変更履歴を記録する場所
→”git init”コマンドで新規リポジトリを作成する
init:initializeの略
→git.ディレクトリ(ファイル管理してくれる場所)が作成される
基本的なワークフロー
①ファイルの変更をステージエリアへ追加する
=ファイル git add → ステージングエリア(控え室みたいなもの)へ
②ローカルリポジトリにコミットする
=ステージングエリア git commit → ローカルリポジトリへ
→vimエディター:i→入力→escボタン
③リモートリポジトリにプッシュする
=ローカルリポジトリ git push →リモートリポジトリへ
変更をコミットする流れ
→ファイル変更
→git add:ステージングエリアへ追加
→git commit:ローカルリポジトリにメッセージをつけてcommit
ステージングエリアに変更を追加
ステージングエリア:複数ファイルを変更にした時に、コミットするファイルを選択するためにある
→commit準備の控え室
原則:1作業、1commit
・コマンド:git add (ファイル名)→ステージングエリアに追加すること
※git add. :今ステージングエリアにある全てのファイルを追加する場合
コミットして変更を記録
commit=変更にメッセージをつけてリポジトリに記録すること
→変更がリポジトリ内に時系列順に記録される
・コマンド:git commit -m”メッセージ付きで記録する”
原則:1作業、1commit:どの作業を何のためにしたのかすぐ振り返れるように
・コマンド:git commit -v = 今回どんな変更をしたか?見れる
わかりやすいコミットメッセージとは?
→他のメンバーに「何がどうして変更したのか」がわかることが必要
1行目:変更内容の要約(タイトル、概要) ※端的にわかりやすいように
2行目:空行
3行目:変更した理由