Git

開発Git

目次一覧

 状態:-  閲覧数:757  投稿日:2019-06-21  更新日:2022-09-19  
ローカルリポジトリ / リモートリポジトリ / originとは?

add / commit / push

Link / 基本的なGitのワークフロー / Gitの設定

 閲覧数:339 投稿日:2019-06-21 更新日:2019-06-23 

Link


Book のみ日本語訳が掲載されている
日本語訳

Reference の日本語訳は掲載されていない
Documentation

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


1.ファイル修正
作業ディレクトリのファイルを修正する

2.ステージング・エリアへ追加
修正されたファイルのスナップショットをステージング・エリアへ追加する

3.コミット
(Gitでは)これは、ステージング・エリアにあるファイルを取得し、永久不変に保持するスナップショットとしてGitディレクトリに格納することだ

※スナップショットとは、ある時点でのソースコードや、ファイル、ディレクトリ、データベースファイルなどの状態を抜き出したもののこと

Gitの設定


Gitには、`git config`と呼ばれるツールが付属する
・「どのようにGitが見えて機能するか」の全ての面を制御できる設定変数を取得し、設定することができる
・これらの変数は三つの異なる場所に格納されている

1./etc/gitconfig ファイル
・システム上の全てのユーザーと全てのリポジトリに対する設定値を保持する
・`--system`オプションを`git config`に指定すると、明確にこのファイルに読み書きを行なう

2.~/.gitconfig か ~/.config/git/config ファイル
・特定のユーザーに対する設定値を保持する
・`--global`オプションを指定することで、Gitに、明確にこのファイルに読み書きを行なわせることができる

3.現在使用しているリポジトリのGitディレクトリにある`config`ファイル(`.git/config`のこと)
・特定の単一リポジトリに対する設定値を保持する


最初のGitの構成

リモートリポジトリ / 作業ディレクトリ / ローカルリポジトリ

 閲覧数:331 投稿日:2019-06-21 更新日:2019-06-23 

リモートリポジトリ


リモートにあるリポジトリ
・複数人で共有する場所
※自身のローカルで作成することも可能

使用方法
ローカルコミットしたファイルを、pushコマンドでリモートリポジトリへアップロードする

作業ディレクトリ


英語表記
Working Directory

チェックアウトしてきたプロジェクト
・CVS的にいえば、チェックアウトしてきたプロジェクト
・CVSとは異なり、履歴や管理情報を丸ごとコピーしてくる
・リモートリポジトリをローカルにバックアップするようなイメージ

ローカルリポジトリ


リモートではなく、ローカルにあるリポジトリ
「リモートリポジトリへアップロードする」ための「コミット履歴」と「ファイル」を記録する場所

作成方法は2種類ある
・新規作成する
・既存リポジトリからクローンする

使用方法
インデックス上のファイルをcommitコマンドでローカルリポジトリにコミットする

ステージング・エリア / コミット / origin

 閲覧数:323 投稿日:2019-06-22 更新日:2019-06-23 

ステージング・エリア


英語表記
Staging Area

Gitディレクトリに含まれる、次のコミットに何が含まれるかに関しての情報を蓄えた一つのファイル
「インデックス」と呼ばれることもあるが、ステージング・エリアと呼ばれることも多い

コミットに関連するファイルだけをまとめてグループ化するための場所
いきなりコミットするのでなく、その前段階のステージエリアを設けて2段階とすることで、関連するコミット対象をまとめる作業を行えるようになっている

コミット


Git のバージョン管理は、コミット単位で行われる

origin


リモートリポジトリの名前
・リモートリポジトリURLの別名
・デフォルトでこの名前が付与される

.git\configファイルで設定可能

originの現在値を確認
$ git remote get-url origin
git@github.com:GitHubユーザー名/GitHubリポジトリ名.git


$ git config remote.origin.url
git@github.com:GitHubユーザー名/GitHubリポジトリ名.git



git remote get-url origin と git config remote.origin.url について

master / $ git add / $ git commit

 閲覧数:274 投稿日:2019-06-23 更新日:2019-06-23 

master


最初にリポジトリを作成すると出来るデフォルトのブランチ名

$ git add


ワーキングツリー上で編集および追加したファイルをステージング環境へ追加する
・コミットをする前に、どのファイルをコミットするか指定するため git add する
・addされたファイルはステージ領域(インデックス)というコミット待ちの領域へ追加される
$ git add -A
warning: adding embedded git repository: GitHubリポジトリ名
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint:   git submodule add <url> GitHubリポジトリ名
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint:   git rm --cached GitHubリポジトリ名
hint:
hint: See "git help submodule" for more information.


$ git commit


データ差分をローカルリポジトリへ登録する
作業フォルダー内のファイルをバージョン管理するために、ファイル追加や編集、削除等の操作によるデータの差分をローカルリポジトリへ登録する

コミットを行うためには?
その前にステージ(Index)エリアへ登録する必要がある

ローカルコミットを実行する

-mオプション
・新規コミット作成する
・""(ダブルクォテーション)内にはコミットメッセージを記載する
$ git commit -m "first commit"
[master (root-commit) b39494a] first commit
1 file changed, 1 insertion(+)
create mode 160000 P46


$ git push

 閲覧数:285 投稿日:2019-06-23 更新日:2019-06-23 

$ git push


ローカルリポジトリのブランチをリモートリポジトリへアップロードする
ローカルリポジトリにある編集したブランチ(の変更)をリモートリポジトリのブランチへ反映(アップロード)する
$ git push -u origin master
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
Enumerating objects: 437, done.
Counting objects: 100% (437/437), done.
Delta compression using up to 8 threads
Compressing objects: 100% (415/415), done.
Writing objects: 100% (436/436), 811.21 KiB | 4.36 MiB/s, done.
Total 436 (delta 49), reused 0 (delta 0)
remote: Resolving deltas: 100% (49/49), done.
To github.com:GitHubユーザー名/GitHubリポジトリ名.git
  b15102d..9074206  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.



ローカルリポジトリ と 作業ディレクトリ について


Git BASH

コメント投稿(ログインが必要)



類似度ページランキング
順位 ページタイトル抜粋
1 Git 100
2 Git BASH 55
3 tf-idf 44
4 httpie 44
5 article 40
6 CGM 33
7 Hibernate 33
8 attribute 33
9 GNU 33
10 PNG 33
11 gzip 29
12 stable build 27
13 latest build 27
14 activeCollab 27
15 OAuth 25
16 Nginx 25
17 Linux 25
18 Hyper Estraier 24
19 N-Gram 22
20 Eclipse 20
2024/4/24 2:14 更新