目次一覧
状態:-
閲覧数:837
投稿日:2019-06-21
更新日:2022-09-19
ローカルリポジトリ / リモートリポジトリ / originとは?
add / commit / push
add / commit / push
Link / 基本的なGitのワークフロー / Gitの設定
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の構成
リモートリポジトリ / 作業ディレクトリ / ローカルリポジトリ
リモートリポジトリ
リモートにあるリポジトリ
・複数人で共有する場所
※自身のローカルで作成することも可能
使用方法
ローカルコミットしたファイルを、pushコマンドでリモートリポジトリへアップロードする
作業ディレクトリ
英語表記
Working Directory
チェックアウトしてきたプロジェクト
・CVS的にいえば、チェックアウトしてきたプロジェクト
・CVSとは異なり、履歴や管理情報を丸ごとコピーしてくる
・リモートリポジトリをローカルにバックアップするようなイメージ
ローカルリポジトリ
リモートではなく、ローカルにあるリポジトリ
「リモートリポジトリへアップロードする」ための「コミット履歴」と「ファイル」を記録する場所
作成方法は2種類ある
・新規作成する
・既存リポジトリからクローンする
使用方法
インデックス上のファイルをcommitコマンドでローカルリポジトリにコミットする
ステージング・エリア / コミット / origin
ステージング・エリア
英語表記
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
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
$ 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'.
ローカルリポジトリ と 作業ディレクトリ について