はじめに
gitというものを全く知らなかった私。
コードを保存してシェアして・・・というのもピンとこないまま
git ****
を言われるがままに打っていた日々。
ローカルやら、リモートやら
リポジトリ、、、ブランチ、、、さっぱりだったので図にしながら整理してみました。
現時点での理解を書き連ねますので
誤解があれば指摘してくださると嬉しいです!
リモートとかローカルってどういうこと?
リモート :git上にプロジェクトごとに作った公共の場所
ローカル:自分のパソコン
基本的には個々でローカルでコードを修正し、最終的にリモートに上げて
チームメンバーのコードを合体させる、という流れになります。
(参考)
リポジトリ (コードの格納庫)
- ブランチ (ファイルとディレクトリの変更履歴を含む)
※リポジトリの中に複数のブランチがある
fetchやmergeをすると何が起こる?
リモートには origin という ディレクトリ がいて、
その中に master という 統合ブランチ がいるのが基本で
この統合ブランチが最終的な製品のコードになります。
git fetch
をすると
リモートリポジトリの情報が全てローカルのサブブランチに格納
git merge
をすると
ローカルとfetchした内容をローカルと合体させる
(コンフリクト注意な部分ですね)
他にもよく使うコマンド
git pull
fetchとmergeを一気にできる
git commit
リモート側に変更を送るための土俵に乗せる
.git/object に情報が格納されるようです
git push
.git/object に格納されていた情報をリモートに送りリモート側を更新する
git checkout
ローカル内にあるブランチ間を移動するときに使う。
リモートのブランチに直接入ることはできないので、
その場合はfetchしてからローカル内で移動する。
さいごに
gitに関する色んな解説ページを見かけますが、
人それぞれ解釈しているので、正直なんとなくでも理解して、
コード管理に困ることがなければとりあえずいいのかも、と思ってしまったりしました。
”なんとなく理解”の次元までまだ達していないので、
これからも引き続き分かったことなど書き足していこうと思います。
(↑このニュアンスの文言を最後に書く記事ばかりになってきました😅)