Zenn
🔥

GitとGitHubの違い

に公開

つっこまれたらうまく説明できなかったので、今自分の知ってることを復習としてまとめます。

バージョン管理システムとは

  • ただ保存するだけでなく、誰がいつどこを変更したのか記録ができる
  • データがバッティングすることなく、複数人で修正できる
  • 過去のデータを復元できる
    • 上書きしちゃった⇒戻すことができる

Gitとは?

バージョン管理システムの1種。

  • ソースコードの履歴管理・バージョン管理ができる
  • 各変更をスナップショットとして記録

なぜGitが人気なのか?

  • 生みの親がLinuxの創設者であるため。
  • フリーのライセンス。使用するのに料金がかからない。
  • 分散型だから(他有名なバージョン管理システムは分散型でなく集中型が多い)

リポジトリとは

英語で「貯蔵庫」の意味。データを保存するための場所ということ。

リモートリポジトリ:
サーバー上に置く、1個しかないメインとなるリポジトリ。

ローカルリポジトリ:
我々のPC内にあって作業者の数だけあるリポジトリ。

ローカルを経由するのはなぜ?

リモートが落ちてしまったり、ハッキングされた時に、ローカルを使用して復活させたりできる。
要は、ローカルがバックアップの代わりになっている。
こういったのを分散型と呼ぶ。

GitHubとは?

Gitを軸にした開発を支援するWEBアプリケーション。
リモートサーバーの中身をウェブブラウザで見るためのツール。

Gitの操作をWeb上で視覚的に行える。(GitはCUIだけど、GitHubならGUIで行える)
プルリクエスト、レビュー、Issue管理、CI/CD連携も行えるので、チーム開発に便利。

Gitリポジトリの共有・公開、複数人での開発・リモートでの開発に便利。
コードを公開・共有できる。

ワーキングツリー・作業ディレクトリ

Ctrl + S で保存した時点では、Gitのリポジトリにはまだ入っていない。
この段階では「作業ディレクトリ(ワーキングツリー)に保存されているだけ

リモートリポジトリに修正内容を反映させる流れ

git init

リポジトリの作成。
自分のアプリケーション内に「.git」という名前のディレクトリが作成される。

git add

変更したファイルを「保存対象として選ぶ」操作。
gitの管理下にするように追加。
ステージング(ファイルがgitの管理下にある状態、git statusで状態を見ると緑色で表示される)
まだリモートリポジトリには送られない。ステージングエリアに追加している段階。

git commit

現在の状態をgitで保存する。
この状態ではリモートリポジトリには反映されてない。gitに保存しただけ。
-m はメッセージをつける。

セーブポイントの役割。

ステージングエリアにあるものをローカルリポジトリに保存する操作。

git push origin main

ローカルリポジトリの内容をリモートリポジトリに反映させる。
originはリモートサーバーのことを指す。

参考文献

https://zenn.dev/getgotgoto/articles/506bcfbcd55149
https://zenn.dev/bellstone/articles/a215cbb2932d6f
https://kinsta.com/jp/knowledgebase/git-vs-github/#:~:text=gitとGitHubの違いをまとめると:,Webベースのプラットフォームです。
https://qiita.com/True-one/items/d698ebc2346ad184fd3f
https://backlog.com/ja/git-tutorial/intro/04/

Discussion

ログインするとコメントできます