Gitのお勉強part.1
こういう人は多いのかも知れないが、私はフロントエンドが大好きだ。
なぜなら書いたコードがすぐに結果として表示されるからだ。
その反対でバックエンド(サーバーサイド)は本当に苦手だ。
…でもそんな事を言っていたら、いつまでたっても成長できないし、仕事の幅が広がらない。。
なので今回は、以前から苦手意識のあった「Git」のお勉強をしていこうと思います。Gitは「バージョンを管理するもの」というのはなんとなく聞いたことはあるが、全くわかっていないので、まずは専門用語を調べる事にした。
有識者様の攻略を拝見しながら書いていますので、似ている(全く同じ)ところがあるかと思いますが、多めに見てやってください。。それでは。
リポジトリ
まずは英単語を直訳してみる。。
repository:保管場所
…うーん、データを保管する場所の事なのか??バージョンの履歴を管理する場所の事なのか??調べてみると、、、
ファイルの貯蔵庫
バージョン管理したいファイル群を格納しておく箱
…うん。まぁまぁ合ってる。。
図にするとこんな感じ。
どうやらリポジトリには「リモートリポジトリ」と「ローカルリポジトリ」があり、リモートリポジトリは所謂サーバー等の上位にある保管場所で、ローカルリポジトリはその名の通り自分のPC(ローカル)上に設ける保管場所の事をいうらしい。。
普段はローカル上で作業をして、一区切りしたらリモートリポジトリにアップ(プッシュ)する。それを繰り返す事によってリモートリポジトリ上に今までプッシュしたデータ(バージョン)が全て残されているので、最悪しくじって訳がわからなくなった場合でも、やり直したいところからのデータをローカルに持ってくればOKという事だ!!(合ってるのか??笑)
…ゲームのセーブも自動的にバージョン管理されていれば最高なのだが。。
ブランチ
まずは英単語を直訳…っと。
branch:枝、支店、分岐
…うーん、ここでは枝分かれかな??
趣味でプログラミングしていると、急にアイデアが閃いて、それを試したくなる事が多々ある。。でもそれが成功するのか失敗するのか微妙な時に、両方とも進めたいと思う事があるが、そーゆー時にその両方のバージョンを保存しておくって事なのかな??
ゲームでいうちょっとしたアップデートと大型アップデートみたいな??
(なに言ってんのコイツ。。)
…調べてみよう。。
コミット(ローカルでのセーブ)履歴を分岐して記録していく機能
コミット履歴を分岐させると、他の分岐先で新しくコミットがあったとしても影響を受けない
分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ内で複数の変更を同時に進めていくことができる
分岐したブランチは他のブランチとマージすることで、一つのブランチにまとめ直すことが出来る
…うーん、わかったよーな、わかっていないよーな。。
図にするとこんな感じ。
ふむふむ。。なるほど。。
大きなプロジェクトだとチームで開発が行われ、役割分担して開発を行うから、その際に相手の作業が自分の作業に影響したら厄介だし、それを気にせずに並行して作業できるから有難い。それに、もしバグが見つかった時にこれだったら原因の切り分けがしやすそうだ。。
ステージング
さっそく英単語を直訳。。
staging:(建物などの)足場、舞台などの構成全般
??全然わからない。。汗
リモートリポジトリにプッシュする前に何かしら準備する事??基礎を作っておく事??調べてみるか。。
コミットする前に、変更したファイルを選択して準備する作業の事
インデックス(登録するスペース)にコミットするファイルを登録する
コミットしたファイルを仮で置いておく場所
ステージングを行うことで、コミットに含める変更を明示的に指定できる
コミットしたくない内容はステージングせず、コミットしたい内容のみステージングする
…なんとなく理解した。。
図にするとこんな感じ。。
ステージングとはコミット(ローカルにセーブ)する前にそのファイルを本当にコミットするかどうかを選別する作業。
常に全てのファイルをコミットしていると、同時に複数の細かい修正をしてしまった暁には、コミットの際に記述するメッセージに説明漏れがあると完全に混乱してしまう。。そうならないためにもコミット前にはステージングして、コミットメッセージもわかり易くしていれば間違いが起こらなくなる。凄く重要な作業なんだな。。
さいごに
今回は苦手意識の高い「Git」の用語を調べてみました。
最初は専門用語ばかり並べられて、
”パルスのファルシのルシがコクーンでパージ”
的な感じでお手上げ状態だったが、自分で一つひとつ調べてみると、
少し理解できてきた気がします。この調子で頑張りますっ!!
次回はコマンドを調べながら実際に触っていこうと思います。
ここまで読んでいただき、本当にありがとうございました!!
慣れてきたらもう少しわかり易く書きますので。。
…ではでは。 (・ω・)ノシ