#Gitとはそもそも何?
ソースコードを履歴していくツール。といった認識でいました。
で、今回深堀で勉強し直しました。Gitとは、分散型バージョン管理システムである。と言うことだそうです。要は、ファイルのバージョン管理が簡単にできるツールだと書いてありました。
【ここで、バージョンと言う言葉が出てきましたが、聞いたことがありますが何かと問われたら説明できない。と言うそこのあなた!
伝えますよ、ファイルをアップデートしたり更新した時に変化するものです。iPhoneとかで最新バージョンにアップデートするように通知が来るあれです!】
と言うことは、自分の認識は合っていたと言っても過言ではないでしょうか!
#Gitはなぜ必要なの?
私は、エンジニアでもなければプログラマーでもありません、ただの(エンジニアを目指し勉強をしている)ニートなので、実際に現場で使われているものを見たことがありませんが(そもそも、現場に入ったことがないので)、ネットの情報を鵜呑みにして必要性を書きます。
【プログラマーにとって、多くのコードを編集した上で何か不具合が起きた時に、元のバージョンへ戻すことは日常茶飯事です。かといって、一つ一つコードの編集の度に古いバージョンの日付や時刻をつけて保存して、また新しい作業をするようなことをしては、時間はかかりますし、人的ミスも増えます。そういった作業を無駄なく、効率的に行うためにGitは必要なんだ。】と記載されてました。
要は、ゲームで言うとこのセーブポイントなのかなと感じましたね。一つのプログラムを作成するために、違う世界線で違う人たちが作り上げていくためのツールなんだと思いました!
#では、Gitに関してさらに見ていきます!
####リポジトリーって何?
リポジトリーとは、Gitの管理元にあるファイルやディレクトリの変更履歴を保管する箱のようなものです。
で、そのリポジトリーには、ローカルリポジトリとリモートリポジトリが存在します。
ローカルリポジトリは、自分のPC上(ローカル環境)に置くリポジトリのことを指します。自分のPC上にあるファイルやディレクトリのバージョン管理をしたい場合に使用します。
リモートリポジトリは、外部のサーバなどのネットワーク上に置くリポジトリのことを指します。ネットワーク上に置くことで複数人で管理のファイルやディレクトリを共有することができます。複数人で開発を進めていく上では、必要なものです。
ちょっと長くなりますがもうちょっと付き合ってください。すみません😋
#Gitはわかりました!それを実際に使用する中で、GigHubなるものが存在するとのこと、なんぞやと言うことを調べていきます!
##GitHubについて
Gitを利用してチーム開発に便利な機能を提供するWebサービスのことを指します。
要は、Gitのリモートリポジトリの役割を担うものだといった認識でいいのかと考えます。
GitHubを利用することで、自分の作業が他の開発者に影響を及ぼしたり、反対に他の開発者の作業が自分に影響を及ぼすことを避けて開発を進めることができるとても便利なものです。
##GitHubDesktopについて
この流れで説明します。GitHubDesktopとは、GitHubが提供しているデスクトップ用のアプリケーションのことを指します。GitHubを直感的に操作しやすくしたツールです。より使いやすくなったものといった認識でいます。
最後に、このGitHubの使用手順を記述して終わります!もうちょっと付き合ってください😂
#GitHub Desktopの使用手順
①まず、編集を加えるファイルをGitHub Desktopで選択し、名前をつけてブランチを作ります。(ブランチとは、各々が作業する際に、一人ひとりが行う作業場的なものを指します。)
②コードを実際に触っていく作業を行います。
③とりあえず、作業にひと段落があれば、名前をつけてコミットします。(コミットとは、追加・変更したファイルをgitに登録するコマンドです。)
④コミットし終えたら、プッシュを行います。(プッシュとは、ローカルリポジトリで保存を行なったものを、リモートリポジトリに反映させるためのコマンドです。)
⑤コードの内容に間違え等がない場合、マージを行います。(マージとは、ブランチをマスターブランチに結合することを指します。マスターブランチとは、プログラムを作成する大本といった認識です。)
※マージした際に、コンフリクトが起こっていないか表示されます。その際に、コンフリクト起こっている場合、編集を加える必要があります。(コンフリクトとは、例えば、ブランチNo.1で「A」と入力した箇所を、ブランチNo.2では「B」と入力をし、マージを行なった場合に表示されるものです。ブランチNo.1の変更とブランチNo.2の変更をどちらをマスターブランチに結合するかといった状態を指します。)
⑥マージができたら、GitHub Desktopでプルを行います。(プルとは、リモートリポジトリの変更をローカルリポジトリに取り込む操作のことを指します。)
これで一連の流れは終わりです。
#まとめ
Git,github,githubdesktopはエンジニアになるには、必須なものなんだと改めて思いました。ならば、もっと勉強をしていこうと思いました。お付き合いいただきありがとうございました!