💻

【Git・GitHub】用語のまとめ

2021/10/03に公開

はじめに

この記事は学習ノートです。
以下の記事を読んで、理解したことを自分なりにまとめました。

参考にした記事

https://qiita.com/nnahito/items/e546b27f73e7be131d4e
https://zukulog098r.com/git/
https://qiita.com/toshi_um/items/72c9d929a600323b2e77
https://backlog.com/ja/git-tutorial/

Gitとは

  • バージョン管理システム
  • ファイルを誰が・いつ変更したか、ファイルのどこを変更したかを記録する
  • 過去の状態に戻すのも簡単
  • ソースコードだけでなく、Excelファイルや画像なども管理できる

GitとGitHubの違い

  • Gitはバージョン管理システムの仕組みで、GitHubはその仕組みを使ったサービス
  • GitHubの他にもGitの仕組みを使ったサービスは、GitbucketBacklogなどがある
  • Gitがメールで、GitHubがGmailみたいなイメージ

用語の説明

リポジトリ

  • ファイルやディレクトリの状態を記録する場所(貯蔵庫)
  • ローカルリポジトリとリモートリポジトリがある

ローカルリポジトリ

  • 自分のPC上に作られる

リモートリポジトリ

  • Web上に作られる(GitHubとか)
  • 複数で管理ができる(個人開発でもバックアップとして使用できる)

クローン

  • リモートリポジトリをローカルリポジトリにコピーすること
    (つまりダウンロード)

フォーク

  • 他人のリモートリポジトリを自分のリモートリポジトリにコピーすること
  • クローンと違ってオリジナルに貢献することが前提(機能追加やバグ改修とか)
  • フォークすると所有者に通知される

ワークツリー

  • 作業中の場所(履歴管理をするファイルがある場所)

インデックス(ステージ)

  • コミットの対象となるファイルを置いておく場所
  • 以前の状態からどれだけファイルを変更したか記録する

コミット

  • インデックスから、ファイルをローカルリポジトリに保存すること
  • インデックスは変更されたファイルのみの記録で、コミットは変更されたファイルとコミットメッセージの記録

プッシュ

  • ローカルリポジトリをリモートリポジトリに送信すること
    (つまりアップロード)

プル

  • リモートリポジトリのうち、ローカルリポジトリにないものだけを持ってくること
    (クローンはリモートリポジトリをローカルリポジトリに持ってくる)

フェッチ

  • リモートリポジトリに変更がないか確認すること(問い合わせみたいなイメージ?)
  • コンフリクト(他人と同じファイルの同じ場所を変更・更新してエラーになること)を防ぐ
  • プルをするとローカルリポジトリの内容が更新されてしまうけど、フェッチは更新されない

ブランチ

  • 作業履歴を枝分かれさせて記録すること
  • 対象のフォルダ・ファイル構造をコピーする
  • コピー元と同じ環境で作業ができるので便利
  • ブランチを作る=ブランチを切る

マージ

  • ブランチ同士を結合し、変更を反映させること
  • お互いの変更履歴が記録される

おわりに

冒頭で紹介した、素晴らしい記事を書いてくださった方々、ありがとうございました!
おかげで理解が深まりました…😭✨
次回はGitのコマンドをまとめたいと思います!💪🏻

Discussion