ポートフォリオ作成に向けて、1月中に基礎学習を終わらせます。
HTML/CSS、JavaScript、Ruby、RDB/SQLの復習を終わらせたので、
次にGit/Githubの復習をUdemyの動画「Git:はじめてのGitとGitHub」で行っていきます。
なお、記述する内容は自分が忘れがちな所、苦手な所です。
HTML/CSS編、JavaScript編、Ruby編、RDB/SQL編同様、
自分用の備忘録的に投稿していくので(箇条書きで)、
読みづらいor間違えていることを書いている可能性もあるので、悪しからず。
(できるだけ他の方が見てもためになれば良いなとは思って投稿しますが・・・)
箇条書きで書いたことに関して、新たな発見、学び、気づき等あれば、
それぞれ個々に詳細を記述していこうと思います。
Gitとは
バージョン管理システムである。「どのファイルの何を」、「誰が」、「いつ」、「何のために」変更したのかを 記録として残すことができる。Gitの仕組み
変更履歴を順々に記録する。
記録する際はメッセージを付ける。
開発の流れ(個人)
個人ファイル(ファイル変更)→個人リポジトリ→共有リポジトリ
リポジトリ・・・ 変更履歴を記録する場所
commit・・・ 個人リポジトリに変更履歴を記録すること。(個人ファイル→個人リポジトリ)
push・・・ 共有リポジトリに変更を共有すること。(個人リポジトリ→共有リポジトリ)
pull・・・ 共有リポジトリの情報を同期すること (共有リポジトリ→個人リポジトリ)
Githubとは
Gitリポジトリ(コード)のホスティングサービスである。 代表的なものは、GithubやBitbucketなどがある。 プルリクエストによるコラボレーションができ、 世界中のチームがGithub上で開発を行っている。基本的なワークフロー
ローカルリポジトリの新規作成→個人ファイル(ファイル変更)→ステージングエリア→ローカルリポジトリ→リモートリポジトリ
ステージングエリア・・・ ファイルの控え室のようなもの
①ローカルリポジトリの新規作成
git init でリポジトリを新規作成する
②ファイルの変更をステージングエリアへ追加する(個人ファイル→ステージングエリア)
git add
③ローカルリポジトリにコミットする(ステージングエリア→ローカルリポジトリ)
git commit
④リモートリポジトリにプッシュする(ローカルリポジトリ→リモートリポジトリ)
git push
git commit
git addでステージングエリアに追加したら、git commitと命令する。
commitメッセージを入力する画面が現れる(デフォルトではVimというエディタが出現)
Vimの操作
半角英数字に切り替える→iを入力(書き込みができる)→コメントを残す→escを押す→
:wqを入力後、enterキーを押す
Github上にリポジトリ新規作成
Githubにpushするために、Github上でリポジトリを新規作成する(New repository)
変更をコミットする流れ
①ステージングエリアに変更を追加する
git add [ファイル名]
git add . ←変更したファイルが全て追加される
②リポジトリに変更を記録する
*一つの作業ごとに1コミット
git commit
③分かりやすいコミットメッセージを書く
1行目: 変更内容の要約
2行目: 空行
3行目: 変更した理由
④escを押して、:wq、enterキー
git log
git logでcommitできたかどうか確認できるgit log --oneline #1行で表示する
git log -p ファイル名 #ファイルの差分を表示する
git log -n 表示したいログ数 #表示するログ数を指定する
色々な変更をコミットできる
ファイルの新規作成、ファイルの削除、複数ファイルの変更など削除したファイルをステージングエリアに追加する
git rm 削除したファイル で削除したファイルをステージングエリアに追加できる現在の状況を確認する
git statusコマンドで現在の状況を確認できる変更差分を確認する
git diffコマンドで変更差分を確認することができる。 git diff HEAD #最新コミットとの差分を表示できるGithubにプッシュする
①リモートリポジトリに登録する
git remote addコマンドでローカルリポジトリをリモートリポジトリに登録できる
(例)git remote add origin https://github.com.....
②リモートリポジトリへ送信する
masterブランチへの送信
→git push origin master
master以外のブランチへの送信(例:featureブランチへの送信)
→git push origin feature
バージョン管理からファイルを外す
.gitignoreファイルに指定する
→ファイルをGitの管理から外すことができる。
(自動生成されるファイルやパスワードが記載されているファイルなどを外す)