💻
【Git・GitHub】用語のまとめ
はじめに
この記事は学習ノートです。
以下の記事を読んで、理解したことを自分なりにまとめました。
参考にした記事
Gitとは
- バージョン管理システム
- ファイルを誰が・いつ変更したか、ファイルのどこを変更したかを記録する
- 過去の状態に戻すのも簡単
- ソースコードだけでなく、Excelファイルや画像なども管理できる
GitとGitHubの違い
- Gitはバージョン管理システムの仕組みで、GitHubはその仕組みを使ったサービス
- GitHubの他にもGitの仕組みを使ったサービスは、GitbucketやBacklogなどがある
- Gitがメールで、GitHubがGmailみたいなイメージ
用語の説明
リポジトリ
- ファイルやディレクトリの状態を記録する場所(貯蔵庫)
- ローカルリポジトリとリモートリポジトリがある
ローカルリポジトリ
- 自分のPC上に作られる
リモートリポジトリ
- Web上に作られる(GitHubとか)
- 複数で管理ができる(個人開発でもバックアップとして使用できる)
クローン
-
リモートリポジトリをローカルリポジトリにコピーすること
(つまりダウンロード)
フォーク
- 他人のリモートリポジトリを自分のリモートリポジトリにコピーすること
- クローンと違ってオリジナルに貢献することが前提(機能追加やバグ改修とか)
- フォークすると所有者に通知される
ワークツリー
- 作業中の場所(履歴管理をするファイルがある場所)
インデックス(ステージ)
- コミットの対象となるファイルを置いておく場所
- 以前の状態からどれだけファイルを変更したか記録する
コミット
- インデックスから、ファイルをローカルリポジトリに保存すること
- インデックスは変更されたファイルのみの記録で、コミットは変更されたファイルとコミットメッセージの記録
プッシュ
-
ローカルリポジトリをリモートリポジトリに送信すること
(つまりアップロード)
プル
-
リモートリポジトリのうち、ローカルリポジトリにないものだけを持ってくること
(クローンはリモートリポジトリをローカルリポジトリに持ってくる)
フェッチ
- リモートリポジトリに変更がないか確認すること(問い合わせみたいなイメージ?)
- コンフリクト(他人と同じファイルの同じ場所を変更・更新してエラーになること)を防ぐ
- プルをするとローカルリポジトリの内容が更新されてしまうけど、フェッチは更新されない
ブランチ
- 作業履歴を枝分かれさせて記録すること
- 対象のフォルダ・ファイル構造をコピーする
- コピー元と同じ環境で作業ができるので便利
- ブランチを作る=ブランチを切る
マージ
- ブランチ同士を結合し、変更を反映させること
- お互いの変更履歴が記録される
おわりに
冒頭で紹介した、素晴らしい記事を書いてくださった方々、ありがとうございました!
おかげで理解が深まりました…😭✨
次回はGitのコマンドをまとめたいと思います!💪🏻
Discussion