60_Git - hiroshi-yamada-jp/public GitHub Wiki
- サル先生のGit入門
- Gitコマンドの使い方を体系的に覚える【一覧あり】 : わかりやすい
- 東京大学:WSL2-UbuntuでのGitの基本: わかりやすい
- まくまくGitノート:TOP
利用方法は省略。基本操作は、GUIで実行可能
- 指定ディレクトリの作成とgit初期化
mkdir <git_dir>
cd <git_dir>
git init
- git configの初期設定
git config --global user.name <Name>
git config --global user.email <E-mail>
# proxy設定が必要な場合、以下を実行する
git config --global http.proxy http://proxy.com:8080
git config --global https.proxy http://proxy.com:8080
# SSL認証不要な場合、以下を設定する
git config --global http.sslVerify false
# 必要な場合、リモートアドレスの設定を行う
git remote add origin https://xxxx/xxx.git
- git config設定状態の確認と設定解除
# 状態確認
git config --global --list
git config --list
# 設定解除
git config --global --unset <設定解除項目名>
git config --unset <設定解除項目名>
- git 状態確認
git status # ファイルの更新状況を確認する
git log # コミット履歴を確認する
# リモート設定の確認
git remote -v
git diff # 作業ツリーとステージングエリアの差分確認
git diff --cached # ステージングエリアと直前のコミット(リポジトリ)の差分
- git clone -b <ブランチ名> <リモートURL> : リモートリポジトリの内容をローカルリポジトリにclone(コピー)する
git clone https://url/xxx.git # リモートから現ディレクトリにclone
git clone -b dev https://url/xxx.git # リモートの指定ブランチ(dev)から現ディレクトリにclone
- git fetch/merge/pull
# git fetch:リモートの「master」ブランチ内容を ローカルの「origin/master」ブランチに反映 ※ 更新情報の取得のみ
# git merge: 特定ブランチやリビジョンを、ブランチに取り込む
# git pull: 「git fetch」と「git merge」をまとめて実行するコマンド
# 実施例
git fetch
git merge origin/master
git pull # ブランチ名省略時: 現ブランチにリモートブランチの内容を取り込む
git pull origin master # 現ブランチにリモートブランチの内容を取り込む
# git push:ローカルブランチ「local」を、リモートリポジトリ「origin」以下の同名ブランチに反映する
git push origin local
- ブランチ表示
git branch # ローカルブランチ一覧表示
git branch -r # リモートブランチ一覧表示
git branch -a # リモート&ローカルブランチ一覧表示
- ブランチ操作
git branch <branch_name> # 指定ブランチを作成
git branch -d <branch_name> # 指定ブランチの削除
git checkout <branch_name> # 指定ブランチにチェックアウト
- コミット履歴やステージングエリアの状態を変更するコマンド
| オプション | ファイル状態 |
|---|---|
| --soft | HEADだけ変更し、ステージングと作業内容を維持 |
| --mixed (Default) | HEADとステージングエリアを変更し、作業内容を維持 |
| --hard | HEAD、ステージングエリア、作業内容の全てを指定コミットに戻す。全変更を破棄 |
- ローカルにある内容をリモートの最新状態に上書き(リセット)
git branch # 現在のブランチを確認
git fetch origin # リモートの最新情報を取得
git reset --hard origin/<ブランチ名> # リモートブランチの状態にローカルを強制的に合わせる
下記資料を参照
** サブモジュールの登録方法 **
$ mkdir sub_module
$ cd sub_module/
# パターン1. 追加したいディレクトリに移動し、サブモジュール追加
$ git submodule add https://<gitlab-url>/xxx.git <submodule_name>
# パターン2. 上記でうまくいかない場合、サブモジュールをcloneする方法もある
$ git clone --recurse-submodules https://<gitlab-url>/xxx.git
# 追加内容の確認
$ git submodule status ** サブモジュール側のリポジトリの更新内容を取り込む **
$ cd sub_module/
# 全サブモジュールの更新
$ git submodule update --remote --recursive
# 特定サブモジュールのみ更新
$ git submodule update --remote --recursive <submodule_name>** 追加したサブモジュールの削除(初期化)方法 **
$ cd sub_module/
$ git submodule deinit -f <submodule_name>
# 上記コマンドを実行後に対象ファイルを削除する
$ rm -rd <submodule_name>下記記事参照。gitサーバ替わりをローカルに作成し、それを使えば一人Gitは可能。