Git/GitHubに関して

7/1 今日は一日Git/GitHubについて学んでいました。

Githubはチラッと触っていたことがあったのですが、知らない用語がずらずらと、、。

事前学習をしていたこともあり、今まではスムーズに学習できていたのですが

今日はしっかりつまづきました。

Rails やってる方が悩むところ少ないのは、gitに対する全体像に対する理解が曖昧だからかもしれないですね。やっぱりそれは実際使っていく中でで養われるとして、、、まぁでも覚えるところは覚えないと!

ということで

Git/Githubについてまとめておこうと思います。長くなりそうです。w

 

Gitとは?

ソースコードをはじめとするファイルの変更履歴を記録するシステム。このシステムを使うことで、何か問題があった際に過去のファイルに戻れるようになる。

 

GitHubとは?

Gitの仕組みを利用したWebサービスのこと。Gitの機能に対してさらに、チーム開発に便利な機能を付け加え、リモートリポジトリとしての役割も果たす。

 

リポジトリとは?

変更履歴を管理しておくための入れ物。ローカルリポジトリ、リモートリポジトリがある。ローカルリポジトリは自分のPC上におくリポジトリであるのに対して、リモートリポジトリは外部のサーバーなどにおくリポジトリをさす。

 

クローンとは?

リモートリポジトリを複製して、ローカルリポジトリを作成すること。

 

インデックスとは?

コミットするファイルを一時的に登録する場所。

一度に多くのファイルを変更した際に、どのファイル単位でコミットするかを選択できるようにするため。

 

コミットとは?

ディレクトリやファイルの状態を記録するための操作。コミットすることで現在の状態が、日時や変更を加えた人の情報も含めて一緒に保存できる。

1機能1コミットのようになるべく細かく行うのがベター。

 

プッシュとは?

ローカルリポジトリで加えた変更をリモートリポジトリに同期させること。

 

ブランチとは?

リポジトリで管理しているプロジェクトの履歴の一つ。これを使うことで、開発者ごとに機能を明確に分けることができ、完成途中や問題のあるソースコードをリリースしなくて済む。

 

プルとは?

リモートリポジトリの変更履歴をローカルリポジトリに反映させる操作のこと。

 

プルリクエストとは?

作成したブランチをmasterブランチ(大元のブランチ)にマージするときの確認作業のこと。掲示板のようなもので、ここで他の開発者からの確認・レビューが行うことができる。

 

マージとは?

ブランチとブランチを結合させること。

 

デプロイとは?

ソースコードAWSなどの本番環境に設置し、稼働させること

 

コンフリクトとは?

複数の人が別のブランチで同じ箇所を編集してしまい、変更箇所を自動では判断できずにマージできなくなること。

 

コンフリクト解決のフローは?

1:コンフリクト箇所を現在の変更があるブランチに反映

2:コンフリクト箇所を修正

3:コンフリクト解決をコミット

4:現在の変更があるブランチをマージ

 

git revert とは?

コミットを打ち消すコミットを生成するコマンド。