【Git】Gitとは?Gitの仕組みとその解説。|Fresopiya究極の自由を目指すブログFresopiyaFresopiya場所にもお金にも時間にも、何にも縛られない自由な状態になったら一体人間は何をしてどこに向かうのか。自由を目指すエンジニアのブログです。「哲学」と「プログラミング」と「政治経済」、「ブログ」がメインになるかと。Git【Git】Gitとは?Gitの仕組みとその解説。05/12/2019スポンサードリンクどうも、とがみんです。プログラミングをする人にとって、「Git」というソースコードを管理するシステムは欠かせないものだと思います。みんも、「Git」を利用しているのですが、なかなか、その仕組みを理解することって難しい、、、と思ったりします。「Git」を理解するためにも、これから、「Git」についてまとめたことをどんどん記事にして、アウトプットしていきます。この記事では、「Git」とは何か。その仕組みについて、簡単に紹介していきます。pullまとめ参考文献Gitとは?「Git」とは、プログラムのソースコードなどの変更履歴を記録、追跡するための分散型バージョン管理システムのことです。みなさんは作成したファイルをどのように管理しているでしょうか。プログラムを書く際、少し書き換えたら、エラーが出てしまい、編集前の状態に戻したいとか思ったことはあるでしょうか。そんな事態に備えて、編集前のコードをバックアップしたりすると思います。上手く動作したら、名前を付け直して保存するというようなことをしていた人もいるかもしれません。このように、自分でファイルをコピーして編集して保存といった作業は結構大変で、ミスも起こしやすいです。同じファイルを誰かと同時に編集していた場合、どちらかのコードが消えてしまう。誰がどの部分のコードを変更したのかといった詳細を知ることが難しい。いった問題が挙げられます。そこで、「Git」という分散型のバージョン管理のシステムが、こういった問題を解決するために作られました。次に、もう少し詳しく、Gitの仕組みについて説明していきます。Gitの仕組み次にGitがどのように、ファイルを管理しているのかについてです。下図のような感じです。上図の「リポジトリ」とは、ファイルを保存しておくためのデータベースです。「リモートリポジトリ」は、複数名で開発する際に共有で利用するリポジトリのことです。「ブランチ」とは、プロジェクト本体に影響を与えず複数人が同時並行で開発を行えるようにする機能のことで、詳しくは、別の記事で紹介します。上図の1〜4の流れを説明していきます。add「add」とは、次のcommitに備えて、作業ディレクトリ内の変更をステージングエリア(インデックス)に追加します操作のことを言います。commit「commit」はステージングエリアに追加された作業ディレクトリ内の変更を、ローカルリポジトリに記録します。このとき、変更内容をコミットメッセージとしてメモしておきます。作業ディレクトリで大量に変更した時に、コミットメッセージにそぐわない変更が含まれないように、commitに含めたい変更を選別するためです。push「push」は、ローカルリポジトリの内容を、リモートリポジトリに反映させる操作です。リモートに反映させることによって、他の人もソースコードを見ることが可能になります。pull「fetch」も「pull」も、リモートリポジトリから最新の変更履歴をダウンロードしてきて、ローカルリポジトリを更新する作業です。「fetch」も「pull」も、リモートリポジトリから最新の変更履歴をダウンロードしてきて、ローカルリポジトリを更新する作業です。「fetch」は、作業ディレクトリには反映されないので、反映させるためには「marge」する必要があります。「pull」の場合は作業ディレクトリの変更も同時に行ってくれます。まとめGitの概要について説明しました。コードの管理やチーム開発をする際は非常に有用なので、しっかりと勉強する必要がありますね!また、何か不明点等あれば、ご指摘いただけると嬉しいです。POSTGit【Git】プルリクエストとは?その解説とその方法。togaminFresopiyaGit【Git】ブランチとは?その仕組みと、ブランチの切り方、編集、マージまで。togaminFresopiya【Python】Pythonとは?需要とその特徴。性能向上を目的とした研究をしていました。現在はFinTech系ベンチャー企業勤務。