目次一覧
状態:確認中
閲覧数:1,238
投稿日:2020-06-01
更新日:2020-06-02
最初に / Git リポジトリは2種類 /「ローカルリポジトリ」は3つの部分から構成されている
Git の基本的なワークフロー / Git 基本用語 / add
ブランチ / ブランチは2種類 / ローカルリポジトリにあるローカルブランチは、さらに2種類に分かれる
上流ブランチ / origin / fetch
HEAD / Link
Git の基本的なワークフロー / Git 基本用語 / add
ブランチ / ブランチは2種類 / ローカルリポジトリにあるローカルブランチは、さらに2種類に分かれる
上流ブランチ / origin / fetch
HEAD / Link
最初に / Git リポジトリは2種類 /「ローカルリポジトリ」は3つの部分から構成されている
最初に
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
Git の基本的なワークフロー
1.作業ツリー(working tree)のファイルを変更する
2.変更のみをステージングエリア(staging Area)へ追加する
3.コミットを実行する
ステージングエリアにあるファイルをそのまま取り込み、そのスナップショットをGitディレクトリへ保存する
Git 基本用語
一覧表
日本語表記 | 英語表記 | 内容 | 場所 | 備考 |
---|---|---|---|---|
作業(ワーキング)ツリー | working tree | 現在作業しているファイル | ローカル | - |
インデックス | index | コミットするファイルを登録する場所 | ローカル | - |
ステージングエリア | staging area | 同上 | ローカル | インデックスと同じ意味。別名 |
ローカルリポジトリ | - | リモードリポジトリへ送信するためのコミットを記録する場所。「一纏めにしてコミットしたいファイル」をとりあえず置いておくことが出来る | ローカル | - |
リモートリポジトリ | - | 複数人で共有するためのリポジトリ | サーバー | - |
add
ワーキングツリー → インデックス
-a オプションを付与してcommitすると、addとcommitを同時に実行してくれる
ブランチ / ブランチは2種類 / ローカルリポジトリにあるローカルブランチは、さらに2種類に分かれる
ブランチ
ブランチを切らなくても常に使用している
ブランチ(枝分かれ)という言葉から、ブランチを切らないと使用することにはならない、と思っていたが間違い
必須
わざわざブランチを切らなくても、常に何れかのブランチで作業することになる
デフォルトは「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
上流ブランチ
英語表記
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
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用語:上流ブランチとは?
リモート追跡ブランチ・追跡ブランチ・リモートブランチの違い
・「リモートブランチ」と「リモート追跡ブランチ」について