Git/GitHubに関して
7/1 今日は一日Git/GitHubについて学んでいました。
Githubはチラッと触っていたことがあったのですが、知らない用語がずらずらと、、。
事前学習をしていたこともあり、今まではスムーズに学習できていたのですが
今日はしっかりつまづきました。
Rails やってる方が悩むところ少ないのは、gitに対する全体像に対する理解が曖昧だからかもしれないですね。やっぱりそれは実際使っていく中でで養われるとして、、、まぁでも覚えるところは覚えないと!
ということで
Git/Githubについてまとめておこうと思います。長くなりそうです。w
Gitとは?
ソースコードをはじめとするファイルの変更履歴を記録するシステム。このシステムを使うことで、何か問題があった際に過去のファイルに戻れるようになる。
GitHubとは?
Gitの仕組みを利用したWebサービスのこと。Gitの機能に対してさらに、チーム開発に便利な機能を付け加え、リモートリポジトリとしての役割も果たす。
リポジトリとは?
変更履歴を管理しておくための入れ物。ローカルリポジトリ、リモートリポジトリがある。ローカルリポジトリは自分のPC上におくリポジトリであるのに対して、リモートリポジトリは外部のサーバーなどにおくリポジトリをさす。
クローンとは?
リモートリポジトリを複製して、ローカルリポジトリを作成すること。
インデックスとは?
コミットするファイルを一時的に登録する場所。
一度に多くのファイルを変更した際に、どのファイル単位でコミットするかを選択できるようにするため。
コミットとは?
ディレクトリやファイルの状態を記録するための操作。コミットすることで現在の状態が、日時や変更を加えた人の情報も含めて一緒に保存できる。
1機能1コミットのようになるべく細かく行うのがベター。
プッシュとは?
ローカルリポジトリで加えた変更をリモートリポジトリに同期させること。
ブランチとは?
リポジトリで管理しているプロジェクトの履歴の一つ。これを使うことで、開発者ごとに機能を明確に分けることができ、完成途中や問題のあるソースコードをリリースしなくて済む。
プルとは?
リモートリポジトリの変更履歴をローカルリポジトリに反映させる操作のこと。
プルリクエストとは?
作成したブランチをmasterブランチ(大元のブランチ)にマージするときの確認作業のこと。掲示板のようなもので、ここで他の開発者からの確認・レビューが行うことができる。
マージとは?
ブランチとブランチを結合させること。
デプロイとは?
コンフリクトとは?
複数の人が別のブランチで同じ箇所を編集してしまい、変更箇所を自動では判断できずにマージできなくなること。
コンフリクト解決のフローは?
1:コンフリクト箇所を現在の変更があるブランチに反映
2:コンフリクト箇所を修正
3:コンフリクト解決をコミット
4:現在の変更があるブランチをマージ
git revert とは?
コミットを打ち消すコミットを生成するコマンド。