💀

Gitの概要

2023/01/18に公開

Gitとは

  • ソースコードのバージョン管理をするための仕組みの一つ
  • OS Linuxのソースコードを管理するために開発された
  • 現在、ソースコードの管理はGitが第一選択肢

ソースコードのバージョン管理を行わないと、、

  • どのファイルにどのような変更が行われているか、ファイルの中身を確認しないと分からない
  • 同じファイルを同時に編集できない
  • 意図しない上書きで、編集内容が消えてしまうことも

ソースコードのバージョン管理を行うと、、

  • ソースコードの変更履歴を開いて、誰がいつ、どのファイルのどの場所を編集したか簡単に管理できる

リモートリポジトリにはGitHubを利用!

Gitの概要を知ろう

Gitの特徴

  • バージョン管理システムはいくつかあるが、最近特に普及が進んでいる
  • ローカルリポジトリと、リモートリポジトリをもつ
  • 分散型

リポジトリ

  • ファイルを管理するデータベースをリポジトリと呼ぶ

ローカルリポジトリとリモートリポジトリ

  • ローカルリポジトリ
    各開発担当者がローカル環境に保持するリポジトリ

  • リモートリポジトリ
    全ての開発担当者で変更内容を共有する

分散型

  • 開発者Aと開発者Bでそれぞれローカルリポジトリを持っている
  • 各開発担当者はローカルリポジトリで変更内容を登録
    (これをcommitという)
  • そして、サーバー上にあるリモートリポジトリへ変更内容を送信
    (これをpushという)
  • リモートリポジトリにある他の開発担当者の変更内容を取得したい時は
    サーバー上にあるリモートリポジトリから受信する
    (これをpullという)

具体的にいうと、、
開発者Aがファイルsample.textにABCというコードを書いてcommit,push
開発者Bがファイルsample.textにDEFいうコードを書いてcommit,push
すると、リモートリポジトリではsample.textにはABCDEFと書かれたファイルとして管理される!!

複数の開発者で一つの開発プロジェクトを同時進行でやりやすくなる◎

基本的な操作の流れと用語

ワーキングツリー
最新のファイルや状態のこと

ステージ(インデックス)
commitするためのファイルの状態のこと

ローカルリポジトリ
ファイルの変更履歴を手元で管理するためのもの

↑ここまでは各自手元で使う環境(VS Codeなど)

リモートリポジトリ

ファイルの変更履歴をプロジェクトメンバー全員で管理/共有して使う環境(GitHubなど)

add
ワーキングツリーからステージへの反映

commit
ステージからローカルリポジトリへの反映

push
ローカルリポジトリからリモートリポジトリへの反映

pull
リモートリポジトリからローカルリポジトリへの反映

Gitホスティングサービス

リモートリポジトリのホスティングサービスは複数提供されている

  • GitHub(無料/有料)
  • BitBucket(無料/有料)
  • Backlog(無料/有料)

自分で構築・運用することも可能だが、運用コスト(人件費、サーバ代)がかかる
事情がなければ、ホスティングサービスを利用するのが一般的


Git・GitHub入門編スタート!
色々設定やらダウンロードするのに時間かかっちゃってるけど何とか進めてる😂
早く進めてRuby入るぞ〜
パワーー

Discussion