見出し画像

Shopifyアプリ開発#003【実践】Git、GitHubで使われてる言葉の意味が謎過ぎる…

Shopifyアプリ開発ではGit、GitHubを使っていく!
と言う事で、指導書の説明を見ているけれど、工程のコマンドは書いてあるから何とかなるかも…?とは思うけれど、言葉の意味がさっぱり分からず、課題提出が何を言われているのかが謎…。

小学校の時、算数は得意だったけど、文章が理解が出来ず文章問題が苦手だったことを少し思い出しました。

Git、GitHubの基本機能、用語

  • ローカルリポジトリ

  • イニシャライズ(初期化)

  • インデックス(git add .)

  • コミット

  • コミットログ

  • リモートリポジトリ

  • プッシュ

  • ブランチ

  • プル

  • クローン

ここからは私の解釈が多く含まれます。
自分の中で、理解を深めるために書き出しているのでお許しを!

 

①ローカルリポジトリ

自分のPC内にファイルの 「変更履歴」 を保存する場所です。

■「リポジトリ」と「ディレクトリ」の違い

「保存場所」と言う意味では共通ですが、

リポジトリ ➡ ファイルの変更履歴を保存する場所。
ディレクトリ ➡ ファイルやフォルダを保存する場所。

リポジトリとディレクトリ

フォルダとディレクトリの違いは
「ファイルを保存する場所」と言う意味では同じですが、

ディレクトリ ➡ 自分のPCの内にファイル・フォルダ保存する場所。
フォルダ ➡ オブジェクト(入れ物)と言う意味で自分のPC内・WEB上問わず保存する場所の事です。

 

■「リモート」と「ローカル」の違い

リモート ➡ ネット上
ローカル ➡ 自分のPC

リモートとローカルの違い


②イニシャライズ(初期化)

Gitを使うために使用するフォルダを初期化してGitのリポジトリ(ファイルの変更履歴を保存する場所)を作成する。

 

③インデックス(git add .)

何をサイトに登録するのか指定する作業を「インデックスする(アドする)」と呼びます。
※ここではファイルが指定しただけでリポジトリ(更新履歴の保管場所)には保存されていません。

④コミット

コミットとは③でインデックスされたファイルをリポジトリ(更新履歴の保管場所)に保管する作業です。

⑤コミットログ

コミット(更新)履歴を確認する方法です。

⑥リモートリポジトリ

①で述べましたが、
リモート ➡ ネット上
リポジトリ ➡ ファイルの変更履歴を保存する場所。

ここでは、ネット上にファイルの「変更履歴」を保存する場所を作ります。

リモートリポジトリは「GitHub」を使用します。

※Gitはバージョン管理システムの名前で、GitHubはサービス名なので混同しないようにしましょう。

⑦プッシュ

ローカルリポジトリのデータをリモートリポジトリにアップロードすることを、「プッシュ(push)」と呼びます。

 

⑧ブランチ

複数人が同じサイト内の「検索機能」「お問合わせ機能」とお互い干渉しない作業をする場合に等に、

mainブランチ
Aさん ➡ Aブランチ
Bさん ➡ Bブランチ

と、メインから別けてそれぞれで作業をして、メインに触らず作業が出来た物をメインに戻すと言う対応をするために、それぞれにわける事をブランチ(枝)と言います。

ここで私の疑問

AさんとBさんがそれぞれ違う部分の作業をした時
Aさん ➡ メイン+検索機能
Bさん ➡ メイン+お問合わせ機能

と言う、お互いの+の機能のファイルは持っていません。

最初にアップするAさんはそのままアップで大丈夫ですが、次にアップするBさんは「検索機能」が無い状態なので

①追加された部分だけが取得できる (現在作っている機能は上書きされない)。
②Bさんは全体をアップせず「自分が作った機能の部分だけインデックス」する。

どちらになるのだろうか…?

また、依存しないページの場合は良いけれども、依存するページがある場合は全体を把握管理する為にGitがあるんだろうな…(自分の疑問と意見)

 

⑨プル

プル(pull)とは、リモートリポジトリのデータをローカル(自分のPC)へダウンロードすることを言います。

⑩クローン

clone(クローン)とは、リモートリポジトリのデータをの自分のパソコンのリポジトリ以外にダウンロードする作業のことをいいます。(履歴に影響されない空のディレクトリに保存)

既に情報があるディレクトリにDL ➡ プル
空のディレクトリにDL ➡ クローン

 

あとがき

調べて書き出してみて、やっとGitとGitHabの役割と連携の工程が判ってきました!

今理解が出来てない部分は、⑥リモートリポジトリ で対応をする「公開鍵・秘密鍵」の設定。

.ssh フォルダの中に…とあるのですが、私はPCを2台持ちなので、それぞれパスが違う。

単純にCLIでの作業だけであれば、保存するファイルをドロップボックス = PC に連動していたので、接続する時にパスを変えるだけで良かったけれども

さて、ここは2台の場合の…と言う記事もいくつか見かけたので、追々更新していきます!

私に焼肉食べさせてください🤤