このビデオでは､ getとGitHubとソース管理について説明します｡
さて､ 前回のセクションでGitHubを使ってウェブサイトをオンラインにしたことを思い出したかもしれませんが､
それ以上のものであることをお見せしましょう｡
もっと重要なのは､ 乗ること｡
GitHubはほとんどのプロフェッショナル企業で利用されており､ 今やすべての開発者が知っていることが期待されるスキルです｡
だから､ ここは重要なセクションなんです｡
ほとんどの開発者が入社初日にやらなければならないことのひとつに､ GitとGitHubを使ったプルリクエストと呼ばれるものがあります｡
このセクションで､ そのことを理解しましょう｡
心配しないで､ 全部学べば理解できるようになりますよ｡
まず､ ソース管理から始めましょう｡
これまでは､ 小さなファイルしか扱えませんでした｡
チームメンバーはいない､ 自分たちだけ｡
ほんの2､ 3のファイルです｡
しかし､ 現実には､ チームの中で開発者は自分一人ではないことがほとんどです｡
ほとんどの場合､ プロジェクトは巨大である｡
ファイルがたくさんあるんです｡
ソース管理によって､ 複数の人が異なる場所から同じファイルで作業できるようにすることができます｡
1つのドキュメントで共同作業ができるGoogle Docsのようなものだと考えてください｡
でも､ 話はもういい｡
実際に確認してみましょう｡
こちらでは､ 2つのフォルダーを設定しました｡
ひとつは､ X社で新しい仕事を始めたばかりのアンドレ､ もうひとつは､ この会社でしばらく働いているマーシで､
彼女のプロジェクトファイルをこちらに置いています｡
実は､ 背景ジェネレーターの動画にあったファイルを利用しているんです｡
GitやGitHubがない今､ 私ができることは､ これらのファイルをコピー＆ペーストするだけです｡
だから､ マーシが持っているものは何でも持っているし､ これらのファイルに取りかかることができる｡
ターミナルとサブライムテキストを備えた開発環境をここに置いて､ アプリに加えるべきあらゆる変更に取り組むことができるのです｡
そしてマーシ｡
こちらも自分専用のものがあり､ そこで作業をすることができます｡
しかも､ 二人で同じプロジェクトに取り組んでいるんです｡
しかし､ マーシーと私の二人でこのプロジェクトに取り組んでいて､ マーシーがプロジェクト名をグラデーション背景からスーパー背景に変更することにしたとしましょう｡
そして同時に､ 私のプロジェクトでは､ このクールな背景を呼ぶことにしました｡
では､ 私とマーシーで会議を開き､ どのようにコードを変更するかを決めてください｡
これは小さな例ですが､ 異なるプログラマーが一緒に仕事をすると､ ある人があることを変更し､
別の人が別のことを変更するという問題が常に発生することは想像できますよね｡
そこで登場したのがソースコントロールで､ これを自分のコンピュータの代わりに1カ所で管理するのがソーシャルコントロールです｡
この場合､ 各自がSource Controlでプロジェクトのコピーを持つのではなく､
ここにあるフォルダで表現されるだけです｡
私たちはプロジェクトのコピーを持っていますが､ 会社やインターネット上のどこかに､ 究極のバージョンを持つ集中ロケーションがあり､
私たちはそれぞれ同じバージョンを持っていることを確認するために話をするのです｡
GitHubを取得することは､ そのための手段であり､ ソースコントロールを利用できるようにすることです｡
そして､ 実のところ､ それがデファクトになっているのです｡
ですから､ 先ほども言ったように､ これはあなたが職場で毎日使うことになるツールである可能性が高いのです｡
GitHubのウェブサイトにアクセスすると､ AndreとMarciの2人が会話できる中心的な場所となります｡
だから､ 同じファイル､ 同じプロジェクトで仕事をしていても｡
このGitHubのような中心的な場所に依頼することができるのです｡
なあ､ マーシーに何か変化があったのか？
とマーシーが聞けばいい｡
おい､ アンドレは何か変わったのか？
そして､ たまにこのようにクールな背景とスーパーな背景がある場合､ マージコンフリクトと呼ばれるものが発生することがあります｡
GitHubでは､ 「マージにコンフリクトが発生しているんだけど､ どうすればいい？
お二人とも経歴が変わったんですね｡
どっちが正しいかわからないけど､ こんな情報があるんです｡
アンドレイ・マーシー君､ 君たちの中で話し合って解決してくれないかな？
それがだいたいのワークフローです｡
では､ 実際にこれがどのようなものか見てみましょう｡
まず最初に､ GitHub のアカウントを作成します｡
これまでの演習でやっていない人は､ 絶対にGitHubのアカウントを立ち上げてください｡
無料です｡
そして､ 先ほども言ったように､ 開発者であれば､ 持っているだけで安心です｡
みんながプロジェクトを置く場所であり､ 仕事をする場所でもあるのです｡
このサイトでは､ 多くの時間を費やすことになります｡
GitHubプロジェクトのとき､ デスクトップ用のGitHubを手に入れるようにとも言ったのを覚えているかもしれません｡
映像の中で簡略化するために使っていますが､ 実はこれは推奨されるやり方ではありません｡
GitHub を視覚的に確認したり操作したりすることができますが､ 雇用主からは見下されているようで､ ほとんどの人はターミナルやコマンドプロンプトを使ってこれを実際に行っています｡
だから､ このやり方は良くないと思うし､ 端末に慣れることが大事だからというだけで､ このやり方は教えないよ｡
それを閉じて､ これから始めるんだ｡
最初にすることは､ 「プロジェクトを開始する」をクリックすることです｡
そしてここでは､ 好きなように呼ぶことにしています｡
背景ジェネレーターと呼ぶことにします｡
そして､ publicのままにしておき､ read meでこれを初期化するをクリックし､ Create Repositoryをクリックすることにします｡
そして､ その成果として､ GitHubに新しいプロジェクトを作成しました｡
そして､ ここにあるread meは､ あなたのプロジェクトを説明するための単なるファイルです｡
ここにあることがわかると思います｡
私たちは､ read meに好きなことを入力すれば､ 私たちのプロジェクトについて説明してくれます｡
でも､ 戻ろう｡
例えばマーシーがこの会社で長く働いているとしたら､ 実はここにある自分のファイルを削除するつもりなんです｡
Marcyはこの会社で長く働いていますが､ 雇用主はついに､ おい､ GitHubを使う必要がある､
この新人を雇うぞ､ と決めました｡
アンドレ
お二人が問題なく､ 一緒にプロジェクトに取り組めるようにしたいのです｡
GitHubにプロジェクトをアップしてもらえますか？
マーシーが行うのは､ GitHub にアクセスして background generator を作成し､ ここをクリックして clone
あるいは download を行い､ Use HTTPS と表示されていることを確認することです｡
そして､ このボタンをクリックすると､ このリンクがキーボードにコピーされ､ マーシーになります｡
自分の端末に移動する｡
そして今､ 私たちはドキュメントの中にいます｡
Marcyフォルダにプロジェクトを入れたいので､ LRSをクリックするとMarcyに種が蒔かれ､ ファイルがあるのが見えますね｡
最初に学ぶのは､ Getというコマンドです｡
クローンです｡
そして､ ウェブサイトからコピーしたものをコピー＆ペーストします｡
私たちは､ GitHub dot comからこのプロジェクトをクローンしてください､ と言っているだけなのです｡
それでエンターキーを押したら､ ほら｡
すべてがダウンロードされます｡
今フォルダーに戻ると､ 背景ジェネレーターがあるのがわかります｡
これをダブルクリックすると､ ここにドット付きのgitフォルダがあるのがわかりますが､ 実はこれは隠されているのです｡
パソコンのこの機能を有効にしていないと､ ノートパソコンでも表示されないことがあります｡
でも､ このdog getでGitHubと通信できるようになったんです｡
そこで､ 今できることは､ マーシーがこれらのファイルをコピー＆ペーストして､ バックグラウンド・ジェネレーターに入れることです｡
では､ 次のゲットコマンド､ マーシーをお見せしましょう｡
今､ 彼女は自分のフォルダにいますが､ ここでgitコマンドを実行すると､ gitプロジェクトではないので動作しませんので､
バックグラウンドジェネレータに移動する必要があります｡
実際にGitHubに作成されたプロジェクトの中に入ってみる必要があります｡
そこで､ そのディレクトリに種を蒔く｡
ここでは､ GitHub のどの場所にいるのかを表示するようにターミナルを設定していることに注目しましょう｡
これで､ すべてのファイルを見ることができるようになりました｡
うん､ なるほどね｡
これで､ GitHubで作成した自分のRead Meに加え､ それをコピペしたファイルが揃いました｡
私がread meファイルの代わりにバックグラウンドジェネレーターに入れば､ マーシは彼女のファイルをGitHubにアップできるように､
これを考える必要があります｡
その方法は､ 2つ目のコマンドであるget statusです｡
トラクトファイルがあることを教えてくれる｡
つまり､ 我々は､ HTML､ スクリプト､ JS､ スタイルがトラクトにインデックスされており､ それはあなたがコミットされるものを含めるためにファイルを追加取得を使用すると言うことです｡
これで､ フォルダにあるもののステータスが確認できました｡ get､ addとファイル名を入力すれば､
index dot HTML､ get add script JS､ get add style dot CSSが実行できます｡
これをクリアして見えるようにしよう｡
そして今､ 私たちのステータスがどうなっているのかを確認するために､ もう一度ステータスを取得することができます｡
そして今､ 私はあなたのブランチがコミットされるべき最新の変更であることを持っています｡
ADDでは､ このような変更を加えたいと言っています｡
新しいファイルが追加され､ コミットされるように言っています｡
2番目のステップはget commitと呼ばれるもので､ get commitは「おい､ これをコミットするよ」と言います｡
これは GitHub に対して行いたい変更で､ メッセージを渡すと GitHub にそのメッセージが表示されるようになります｡
アンドレが戻ってきたら､ 「ああ､ マーシーがこのファイルを追加して､ これがメッセージだ」と言える｡
そして､ それを実行するのが私たちです｡
そして､ この中の二重コードで､ プロジェクトを追加することを言うことができます｡
これでクリアです｡ 最後にもう1つ､ 追加した手順があります｡
addで変更を追加し､ commitで「はい､ この変更をロックします」とコミットするのです｡
そして最後に､ GitHub dotcom にこれらの変更があったことを知らせる必要があります｡
だから､ 私たちはプッシュを受けるのです｡
そして､ そこにあるのは
現在､ このリポジトリにプッシュされています｡
だから､ 戻れば｡
そして､ リフレッシュしています｡
あれを見てください｡
それは､ 私たちが初めてネット上にホームページを開設した時と同じことです｡
しかし､ デスクトップ版のGitHubを使うのではなく､ コマンドラインを使ってプロジェクトを作成しました｡
さて､ 例の話に戻ろう｡
そこで､ マーシャはこのプロジェクトに取り組んできました｡
良いリポジトリがあるので､ 入社したばかりですが､ 今からこれに取り掛からなければなりません｡
どうしたらいいんだろう？
GitHubにアクセスしてBackground Generatorのコピーを取得する必要があります｡
その方法ですが
まあ､ 自分のフォルダに入るんですけどね｡
そして､ 私も同じことをします｡
cloneして､ 前と同じようにレポジトリをコピー＆ペーストしています｡
cloneを取得し､ レポをクローンします｡
そして､ そこにあるのは
私のフォルダに戻ったら､ 見てください｡
背景ジェネレーターを持っています｡
だから､ 私たちは今､ バックグラウンド・ジェネレーターに取り組んでいますが､ お互いのファイルからではありません｡
GitHubにあるどのバージョンでも､ 私たちは作業しています｡
わかりました｡
だから､ より現実的になった今､ 私たちは仕事に戻るのです｡
そして､ 仕事の初日に､ グラデーションの背景のタイトル､ 実はH1タグをクールジェネレーターに変更すると言うのです｡
これを保存して､ ステータスを取得する場合｡
あ､ そういや今レポジトリにないや｡
思い起こせば､ バックグラウンド・ジェネレーターに入らなければならない｡
それを少し開けて見るようにします｡
またか｡
これらのコマンドは､ ドケットフォルダーがあるフォルダーでない場合は動作しません｡
そこで､ そのCDをバックグラウンドジェネレーターにやってみます｡
これをクリアして､ ステータスを取得して見てくださいということなんです｡
インデックスされたHTMLファイルを変更したことを教えてくれるので､ 覚えていれば追加してくださいということになります｡
インデックス付きHTMLができるファイルが1つしかないんです｡
しかし､ もし私が複数のファイルを持っていて､ それらをすべて一度にコミットしたい場合は､
ピリオドを実行すればいいのです｡
そうして､ コミットして､ タイトルを変更するメッセージを追加します｡
エンターキーを押す｡
これをクリアする｡
そしてまた､ 私はプッシュされるのです｡
そして､ すべて通過したようです｡
では､ それを開いて確認してみましょう｡
I 今､ あなたをリフレッシュします｡
そしてまあ､ 何の変化も見られないのですが､ 今､ 3つのコミットがあることがわかります｡
Marciが行った最初のコミット､ 背景プロジェクトの追加､ そして追加されたすべてのファイルが表示されています｡
そして､ 戻ってみると､ タイトルのコミットが変わっていて､ 今､ それを見ているところです｡
そうですね｡
Andreは､ 赤で表示されている背景ジェネレーターをクールジェネレーターに変更するだけです｡
ですから､ ご覧のようにすべての変更の履歴があり､ 間違いがあればいつでも遡ることができるのです｡
しかし､ 今ひとつ問題があります｡
コードに戻り､ マーシーのコンピューターにアクセスすると､ そのことがわかります｡
まあ､ 彼女はまだここに背景ジェネレータを持っています｡
それはなぜでしょうか？
彼女のコンピューターは､ GitHubがアップデートされたことを知らないからです｡
次に紹介するコマンドは､ このビデオで最後に紹介する「get pull」です｡
だから､ ABCを得るために変更をプッシュすることを忘れないでください｡ comにアクセスして､ 最新のものを何でも引っ張ってきてもらう｡
だから､ プルプルしてしまうんです｡
そして､ そこにあるのは
このように､ インデックスされたHTMLファイルが変更されたことを表示しています｡
これで､ 私のことがわかりましたね｡
タイトルを「Cool Generator」に変更しました｡
マーシは私の最初の変更を見て､ クールなジェネレーターを追加したことをとても気に入ってくれたのですが､
彼女はまた大文字にしたいと言っているようです｡
彼女はそれを救うのです｡
彼女はステータスを取得すると言いそうです｡
さて､ インデックスされたHTMLファイルができましたので､ addして､ commitして､ 嘘のタイトルにメッセージコピーを追加します｡
そして､ プッシュされる｡
またか｡
私は戻る｡
更新すると､ 4つのコミットがあり､ 大文字で書かれたタイトルが表示されます｡
です｡
新しい変化
初日が終了しました｡
翌日から出社して､ まあ､ バックグラウンドジェネレーターの最新プロジェクトでも何でもいいから始めたいと思います｡
そして､ マーシーが徹夜でそのタイトルを「Cool Capitalized」に変更したとしよう｡
最新のバージョンにしたい｡
だから､ 朝出勤したら､ 「もしマーシーが何か変更したのなら､
それを知っておきたい｡
そこで､ get pullと言いますが､ pullをした後にタイトルがどのように変化するのか､ ここに注目してください｡
そして､ 今度はSublime textをクリックすると､ そこにある｡
クールジェネレーター
わかりました｡
そして次のビデオでは､ これを発展させて､ マーシーとアンドレの2人が同じ変更を行った場合にどうなるかをお見せしたいと思います｡
GitHubは何をする会社ですか？
その中でお会いしましょう｡
バイバイ｡