Q

Gitとは

何となくでしか理解できていないので、もし初心者プログラマーにも分かりやすい仕組みの説明があれば教えてください。

今までもGit BashとGitHub Desktopを使用して、ローカルデスクからオンラインにソースコードを都度アップデートしているのですが、深くその仕組みについて説明せよといわれてもまだしっかりと理解しきれていません。(色々とネットで検索して読んでみたのですが、いまいち掴み切れていません。)よろしくお願いします!

A

回答者 ポップ さん
gitは一言でいえば「ソースコード管理ツール」です。

ローカルとリモート(オンライン上の)のそれぞれにリポジトリと呼ばれるものが作られ(フォルダみたいなものだと思ってください)、そのリポジトリでソースコードの差分や編集記録が管理されます。

編集記録が残っているので、好きなタイミングでソースコードを以前の状態に戻すことができ、「あの機能前に実装してたけどもう消しちゃった」なんて時に該当部分を戻せるので便利です。
このようなことをgitを使わないで実現する場合、定期的なタイミングでソースコードのバックアップをとるなどの対応が必要なので、かなり手間がかかると思います。

また、gitは複数人での開発(=チーム開発)の時に最大の効果を発揮します。
それぞれのローカルリポジトリで作業したものをリモートリポジトリにアップ(gitのpushコマンドですね)して管理することで、他の人の変更差分をスピーディーに自分のローカルリポジトリに反映して動作を確認できるため、全体の開発効率が上がります。

その他、コードレビュー(コーディング規約に則って書かれているか、明らかに不自然な書き方がされていないかの確認)をしやすくなるなどのメリットもありますね。

なお、お使いのgitクライアントツール「GitHub Desktop」も最近使われる機会が増えていますが(私も使っています!)、「Source tree」を採用している会社・プロジェクトも多いので、興味があったら試してみるのもオススメです。

A

回答者 ali0ikechi さん
正直なところ、GitHub Desktopを使い始めてからアップデートが凄く楽簡単なので、Gitを理解するのをスキップしてしまいました。
分かりやすい説明有難うございます。
Source Treeも聞いたことありますが、まだ未経験なので機会があったらやってみます!