Git 用語の基礎

GitGit BASH

目次一覧

 状態:確認中  閲覧数:1,057  投稿日:2020-06-01  更新日:2020-06-02
最初に / Git リポジトリは2種類 /「ローカルリポジトリ」は3つの部分から構成されている

Git の基本的なワークフロー / Git 基本用語 / add

ブランチ / ブランチは2種類 / ローカルリポジトリにあるローカルブランチは、さらに2種類に分かれる

上流ブランチ / origin / fetch

HEAD / Link


最初に / Git リポジトリは2種類 /「ローカルリポジトリ」は3つの部分から構成されている

 閲覧数:376 投稿日:2020-06-01 更新日:2020-06-02

最初に


Git 公式日本語ページはこちら

Git リポジトリは2種類


リモートリポジトリ
ローカルリポジトリ
名前 場所
リモートリポジトリ サ-バー
- ↑↓
ローカルリポジトリ ローカル

「ローカルリポジトリ」は3つの部分から構成されている


一覧表
日本語表記 英語表記 内容 備考
Gitディレクトリ Git directory .git。Gitの最も重要な部分。プロジェクトのためのメタデータ(Gitが管理するファイルやディレクトリなどのオブジェクトの要約)とオブジェクトのデータベースがあるところ。 他のコンピューターからリポジトリ(Repository)をクローン(コピー元の情報を記録した状態で、Gitリポジトリをコピーすること)した際、コピーされる -
作業ディレクトリ working Directory 作業ツリー(working tree)。プロジェクトの1つのバージョンをチェックアウトしたもの。これらのファイルは、Gitディレクトリ内の圧縮されたデータベースから引き出され、あなたが使用したり修正したりできるよう、ディスク上に配置されている -
ステージング・エリア Staging Area ステージングエリアとは、一般的には Git ディレクトリに含まれるファイルのこと。次のコミットに何を入れるかという情報を格納している。Git 専門用語では "index" と呼ばれているが、"staging area" という表現も同じ意味で使用される -


Git の基本的なワークフロー / Git 基本用語 / add

 閲覧数:374 投稿日:2020-06-01 更新日:2020-06-02

Git の基本的なワークフロー


1.作業ツリー(working tree)のファイルを変更する

2.変更のみをステージングエリア(staging Area)へ追加する

3.コミットを実行する
ステージングエリアにあるファイルをそのまま取り込み、そのスナップショットをGitディレクトリへ保存する

Git 基本用語


一覧表
日本語表記 英語表記 内容 場所 備考
作業(ワーキング)ツリー working tree 現在作業しているファイル ローカル -
インデックス index コミットするファイルを登録する場所 ローカル -
ステージングエリア staging area 同上 ローカル インデックスと同じ意味。別名
ローカルリポジトリ - リモードリポジトリへ送信するためのコミットを記録する場所。「一纏めにしてコミットしたいファイル」をとりあえず置いておくことが出来る ローカル -
リモートリポジトリ - 複数人で共有するためのリポジトリ サーバー -

add


ワーキングツリー → インデックス 
-a オプションを付与してcommitすると、addとcommitを同時に実行してくれる

ブランチ / ブランチは2種類 / ローカルリポジトリにあるローカルブランチは、さらに2種類に分かれる

 閲覧数:392 投稿日:2020-06-02 更新日:2020-06-02

ブランチ


ブランチを切らなくても常に使用している
ブランチ(枝分かれ)という言葉から、ブランチを切らないと使用することにはならない、と思っていたが間違い

必須
わざわざブランチを切らなくても、常に何れかのブランチで作業することになる
デフォルトは「master」ブランチ

作業ディレクトリ内へ、Gitの(空の)ローカルリポジトリを作成する
git init
→ 実行すると、これ以降は「master」ブランチで作業することになる

master ブランチ
一番最初に自動的に作成されるブランチ

現在のブランチ名を確認するためには?
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

ブランチマスター上
あなたのブランチは 'origin / master'で最新です。

コミットするものは何もない、作業ツリーはクリーン


ブランチは2種類


リモートブランチ
・リモートリポジトリで共有されているブランチ
・リモートリポジトリにある
・「master」「sample」など

ローカルブランチ
・ローカルリポジトリにあるブランチ
・「master」「sample」など

ローカルリポジトリにあるローカルブランチは、さらに2種類に分かれる


リモート追跡ブランチ
・別名。「リモートトラッキングブランチ」「remote-tracking branch」
・リモートブランチの状態を監視するためのブランチ
・「リモートブランチ」の変更に追従し、「ローカルブランチ」と「リモートブランチ」を結びつける役割を果たす
・「git fetch」もしくは「git pull」を実行すると、「origin/master」が自動的に更新される
・常に直接リモート側を見ているわけではない
・例。「origin/master」は「リモートリポジトリ origin の master ブランチ」を追跡しているリモート追跡ブランチである

追跡ブランチ
・別名。「作業ブランチ」「トラッキングブランチ」「tracking branch」
・自分専用の作業用ブランチ
・「master」は、「origin/master」を追跡 (tracking) している
・「git pull」を実行すると、「master」は自動的に更新される
・「git fetch」を実行しても、「master」は自動的に更新されない。mergeが必要

一覧表
ブランチ名例1 ブランチ名例2 ブランチの種類(場所) ブランチの種類 ブランチの種類(階層) リポジトリの種類 場所
master sample リモートブランチ - - リモートリポジトリ サ-バー
- - - - - - ↑↓
origin/master origin/sample ローカルブランチ リモート追跡ブランチ (下のローカルブランチから見て)上流ブランチ(に該当する) ローカルリポジトリ ローカル
master sample ローカルブランチ 追跡ブランチ 作業ブランチ ローカルリポジトリ ローカル


上流ブランチ / origin / fetch

 閲覧数:353 投稿日:2020-06-02 更新日:2020-06-02

上流ブランチ


英語表記
upstream branch

引数なしで git pull したとき対象になるブランチ

基本的には
「上流ブランチ」として「リモート追跡ブランチ」が選択される
※「上流ブランチ」に他の「ローカルブランチ」が選択される場合もある

origin


origin/master
・ローカルリポジトリ内にある「リモート追跡ブランチ」
・「リモートリポジトリorigin」の「masterブランチ」を追跡する
※ブランチに「master」 がよく使用されている理由は、単に「git init」がデフォルトで作成するブランチ名だから、というだけ。それ以外に特別な意味はない

origin/develop
・ローカルリポジトリ内にある「リモート追跡ブランチ」
・「リモートリポジトリorigin」の「developブランチ」を追跡する

origin/hoge
・ローカルリポジトリ内にある「リモート追跡ブランチ」
・「リモートリポジトリorigin」の「hogeブランチ」を追跡する

origin
「git clone」を実行するときのデフォルトのリモート名。それ以外に特別な意味はない
・例えば「git clone -o booyah」と実行すると、デフォルトのリモートブランチは「booyah/master」になる

booyah/master
・ローカルリポジトリ内にある「リモート追跡ブランチ」
・「リモートリポジトリbooyah」の「masterブランチ」を追跡する

fetch


fetchとは?
リモートリポジトリから最新情報をローカルリポジトリに持ってくるコマンド

fetchをしても
・pullのようにファイルが更新されるわけではない
・あくまでもローカルリポジトリが更新されるだけ

fetchを行ったときに新しい更新があった場合
origin/masterが最新になり、masterはその分の更新がまだ行われていないことになる
→ mergeが必要になる

git pull と git fetch の違い
・取得したブランチ情報をローカルブランチmasterにマージするかどうか?
・git pull はマージする


HEAD / Link

 閲覧数:314 投稿日:2020-06-02 更新日:2020-06-02

HEAD


今いるブランチの最新コミット

最期(最新)のコミット内容を表示する
$ git show HEAD
commit fc336b2d37550e29bb61180e984d3f5cc9ae2b3e (HEAD -> master, origin/master)
Author: GitHubユーザー名 <GitHubユーザー名@yahoo.co.jp>
Date:   Mon Jun 1 07:35:46 2020 +0900

   first commit

diff --git "a/\346\235\261\344\272\254\351\203\275\346\270\257\345\214\272.txt" "b/\346\235\261\344\272\254\351\203\275\346\270\257\345\214\272.txt"
new file mode 100644
index 0000000..0bcf2de
--- /dev/null
+++ "b/\346\235\261\344\272\254\351\203\275\346\270\257\345\214\272.txt"
@@ -0,0 +1 @@
+東京都港区芝浦
\ No newline at end of file



一覧表


Link


ブランチの説明
下記に掲載されている図が、一番分かりやすい
gitのfetchとpullの違いについて

git pull と git pull –rebase の違いって?図を交えて説明します!

Git用語:上流ブランチとは?

リモート追跡ブランチ・追跡ブランチ・リモートブランチの違い

「リモートブランチ」と「リモート追跡ブランチ」について


「$ git push -u」を実行すると、上流ブランチが設定される。→ これ以降「git push」「git pull」する際にレポジトリ、ブランチ引数を省略できる

Git BASH 作業履歴 2022/10/20 / P48 site-rank(First-Ranking-Service) / 「Add a README」後「git push -f origin main」実行したため、「README」削除