git, github超基礎
git、githubについてあまり分かってないまま学習してきたので、かなり初歩的な内容になると思いますがまとめてみます。
gitとは
gitとは分散型バージョン管理システム
のことです。
分散型と集中型がありますが集中型についてはここでは扱いません。
バージョン管理とはいつ、誰が、どんな編集をしたか、その履歴を管理することです。
履歴ごとにセーブポイントを作って、どの地点にも戻ることができます。
githubとは
どのように管理するか
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代向け情報サイト