共同開発において避けて通れない、githubについて
初学者向けにまとめておきたいと思います。
まず、gitとは
ローカル環境で開発したソースコードなどの作成・編集履歴をリモートのリポジトリに保存しておくことができる仕組みのこと。
自分のPC内のデータをリモートかつ共有の場所に保存しておけるという意味では「クラウド」とイメージが似ているが、
「複数人が同時にいじれる」「編集前の状態に戻すことができる」という点で、チームでの開発等に圧倒的便利なところが特徴。
では、gitHubとは
gitの仕組みを使い、よりチーム開発に便利な機能を兼ね備えたWEBアプリケーション。
gitは通常ターミナルでコマンドにより操作するが、
github社が提供するgithub Desktopを使用すれば、グラフィカルに操作ができる。
githubを使った開発のイメージ
①まずローカル環境で新しいアプリケーションを生成する。
②すぐにリモートリポジトリに上げる。(これをプッシュと呼ぶ)
③アプリケーションに機能を追加したり、編集したりする時はもちろんローカル環境で行う。その都度、リモートリポジトリにプッシュする。これを繰り返す
要は、他の人が見ても変更の履歴が分かるように、また必要があれば変更前の内容に戻れるように、何か編集を加える際はローカルで手を加えて→リモートに反映させるの繰り返しということ。
開発を行いながら、同じ状態のアプリケーションが「皆が見られるリモート」と「自分が操作できるローカル」の二箇所で存在しているという状態。
で、チーム開発など複数人がいじる時に特に大事な考え方として、「ブランチ」
編集履歴も残るし、先にローカルで操作したものをリモートに反映させるならそれで十分じゃないの?とも思うが
同じ場所を同じタイミングで、自分とは別の人が編集をしていたとしたら大変。
「自分は今これをしているよ」と他の人に知らせるためにも、
主軸から枝分かれさせた別フローで編集し、編集が終わったらその部分を主軸にくっつける
というイメージで開発を進めていく。
具体的に言うと、主軸はmasterブランチと呼ばれ、
新しい機能を追加する時とかは「自分は今からこれをやりますよ」という意味で
新しいブランチを作る。
例
投稿機能を作りたい→「create posting form」ブランチを作り
そのブランチ上で(ローカルで)ファイルの編集
→create posting formブランチをmasterブランチに合体
なんだか文章だらけになってしまいましたが、今日はこの辺りで。。。