git, github超基礎

git、githubについてあまり分かってないまま学習してきたので、かなり初歩的な内容になると思いますがまとめてみます。

gitとは

gitとは分散型バージョン管理システムのことです。
分散型と集中型がありますが集中型についてはここでは扱いません。
バージョン管理とはいつ、誰が、どんな編集をしたか、その履歴を管理することです。
履歴ごとにセーブポイントを作って、どの地点にも戻ることができます。

githubとは

ソースコードを管理するWEBサービスです。

どのように管理するか

gitで作った履歴をgithubでオンラインで管理する、ということがわかりました。
では、もう少し具体的に見ていきたいと思います。

リポジトリ

ファイルの保管場所のことをリポジトリと言います。
プロジェクト単位でリポジトリを作ることが一般的なようです。
リポジトリ

に分かれます。
gitが用意してくれているサーバーに対してファイルをアップロード、ダウンロードすることでファイルの共有ができますが、このインターネット上に保存したリポジトリリモートリポジトリと言います。
githubアカウントでリモートリポジトリを作成し、自分のPCにコピーしたものがローカルリポジトリです。

クローン

リモートからローカルにリポジトリをコピーすることをクローンと言います。

git clone [URL]

でクローンできます。

コミット

クローンしたファイルで開発を進め、きりのいいところでセーブします。
このセーブのことをコミットと言います。

git status

というコマンドで変更したファイルの一覧が表示されるので、

git add [ファイル名]

で指定したファイルがgitの管理下に置かれます。この状態をステージングと言います。
ステージング状態ではまだセーブされていません。セーブするには

git commit -m 'コミットメッセージ '

とします。
コミットにはどんな変更を行ったかを端的に表すコミットメッセージを付けておきます。
これがないと後から戻ろうとしてもどのセーブポイントに戻ればいいのか分からなくなります。
また、コミット履歴を確認するには

git log

コマンドを実行します。

プッシュ

ローカルの変更箇所をセーブできましたが、この時点ではまだリモートリポジトリには反映されていません。
リモートに反映させることをプッシュと言います。

git push origin

originとはリモートリポジトリのことです。
このコマンドでリモートにも自分がコミットした内容が反映されます。

プル

最新のリモートリポジトリの情報をダウンロードすることをプルと言います。

git pull origin

このコマンドで、他の開発者がプッシュした内容をプルしてローカルに持ってきます。

ブランチ

ブランチとは作業場所のようなものです。
gitの変更履歴を枝分かれさせ、新しい作業場所を作ることをブランチを切る、と言います。
元となる作業場所はマスターと言います。

masterーーcommitーーcommitーーcommitーーcommitーーcommitーー
branch └ーーcommitーーcommit--commitーー

git checkout -b ブランチ名 master

checkout自体はブランチを移動するコマンドです。
-bと付けることで新しいブランチを作り、ブランチ名 master でmasterから新しいブランチに移動できます。
現在のブランチを確認するには

git branch

を実行します。

プルリクエス

ブランチを切って開発を進め、コミット、プッシュまでしたらgithubプルリクエストを行います。
プルリクエストとは、他の開発者にレビューしてもらい、変更内容がOKならマージしてください、という依頼です。

マージ

ブランチをマスターに合流させることをマージと言います。
マスターブランチにマージする際はマスターに移動して

git marge 合流させるブランチ名

とします。
マージするまではブランチのコミットはマスターには反映されません。
実務では初めのうちはマージすることはなさそうな気がしますがどうなんでしょう。
僕はまだ学習中なのでわかりませんが、マージ怖い、という印象です。

大まかな流れはこんな感じかな、と思います。

最後に

厳密には違う表現もあるかも知れませんが、大体のイメージは掴めるんじゃないかなと思います。
必須知識らしいのでちゃんと身につけたいですね。
では今回は以上です。ありがとうございました。

参考サイト

【Git入門】Git + Github使い方入門講座🐒Gitの仕組みや使い方を完全解説!パーフェクトGit入門! - YouTube

GitHubとは?覚えておくべき7つの基礎知識や使い方を解説 – IT業界、エンジニア、就活生、第二新卒、転職者、20代向け情報サイト