gitコマンドの使い方メモ。よく忘れるので。
目次
設定のスコープは3段階
gitの設定のスコープは以下の3段階です。
優先度 | スコープ | 設定ファイル | MEMO |
---|---|---|---|
低 | system | システム全体 | OSやインストールしたgitアプリにより異なる gitconfig |
中 | global | ユーザ全体 | ユーザホームディレクトリ/.gitconfig |
高 | local | リポジトリ | .git/config |
優先度は上記表の通り。localとglobalの両方に設定されている場合はlocalの設定値が優先されます
設定一覧
現在の設定値をすべて表示するには以下を実行します
% git config -l
スコープを指定することによりそれぞれのスコープの設定値を書き九人することができます。
# localスコープ % git config --local -l # globalスコープ % git config --global -l # systemスコープ % git config --system -l
設定/設定変更
設定を変更するには以下を実行します
# globalスコープに設定 % git config --global <設定項目> <設定値> # localスコープに設定 % git config --local <設定項目> <設定値>
以下はユーザ名(yamada)やメールアドレス(yamada@example.com)をglobalスコープに設定します
% git config --global user.name "yamada" % git config --global user.email "yamada@example.com"
リポジトリのクローン
% git clone <リポジトリパス>
以下はhttps://example.com/sample.gitをクローンします
% git clone https://example.com/sample.git
ローカルブランチ一覧
% git branch develop * main
※ アスタリスク(*)の付いたものが現在チェックアウト中のブランチです
リモートブランチ一覧
% git branch -a
リモートリポジトリのパスを確認
リモートリポジトリのパスを確認するはには以下を実行します
% git remote -v origin https://example.com/sample.git (fetch) origin https://example.com/sample.git (push)
ブランチの作成
# リモートブランチを元にブランチを作成 % git branch <作成するブランチ名> <作成元のリモートブランチ> # チェックアウト中のローカルブランチを元にブランチを作成 % git branch <作成するブランチ名>
以下はリモートブランチ develop をローカルブランチとして作成する例です。
% git branch develop origin/develop
チェックアウト
% git checkout <ローカルブランチ>
以下はローカルブランチ develop をチェックアウトする例です。
% git checkout develop
リモートブランチを直接チェックアウト
リモートブランチ → ローカルブランチ → チェックアウト を一発で行う
% git checkout -b <ローカルブランチ> <リモートブランチ>
以下はリモートブランチ develop をチェックアウトする例です。
% git checkout -b develop origin/develop
トラッキングブランチの確認
チェックアウト中のブランチがトラッキングブランチかどうかを確認します
% git status -sb ## develop...origin/develop
fetch
リモートリポジトリすべての更新を確認するには以下を実行します(トラッキングブランチを更新する)
% git fetch
※リモートリポジトリすべての更新をトラッキングブランチに取り込むだけでチェックアウト中のブランチやローカルブランチには影響はありません。
リモート側でなくなったブランチのローカルリストをリフレッシュ
% git fetch -p
リモートブランチのローカルリストをリフレッシュ
% git remote update origin --prune
merge
# カレントブランチに、指定したブランチの内容をマージ % git merge <ブランチ名> # カレントブランチに、指定したトラッキングブランチの内容をマージ % git merge origin/ブランチ名 # カレントブランチに、トラッキングブランチの内容をマージ % git merge
pull
fetch → mergeを一発で行う
% git pull
チェックアウト中ブランチの状態確認
変更中ファイルの状態やトラッキングブランチとの違いがあるかを書き人します
% git status
ローカルの修正を元に戻す
変更したファイルを元に戻します
% git checkout <ファイル名>
カレントディレクトリ以下すべてを元に戻す場合は以下を実行します
% git checkout .
push
ブランチをリモートにPUSHします
% git push origin <ブランチ名>
ローカルブランチの削除
ローカルブランチを削除します
% git branch -d <ブランチ名>
強制的に削除する場合は “-d”のかわりに “-D” を指定します
% git branch -D <ブランチ名>
リモートブランチの削除
% git push --delete origin <ブランチ名>
ローカルブランチ名の変更
チェックアウト中のブランチ名を変更します
% git branch -m <ブランチ名>
add
ファイルの変更をステージングエリアに追加します
% git add <ファイル名>
カレントディレクトリ以下をすべて追加する場合は以下を実行します
% git add .
コミット
ステージングエリアの内容をブランチにコミットします
% git commit -m 'コミット時のコメント'
変更の一時退避と復元
ファイル変更中に、一時的に別ブランチで作業しなければならなくなった場合ね一時的に変更を退避することができます
退避〜元に戻すまでの一連の作業
# 変更を一時退避 % git stash # 退避した一覧を表示 % git stahs list # 退避した内容を元に戻し、stashのリストから削除 % git stash pop #退避した内容を元に戻す(stashのリストから削除しない) % git stash apply #退避した内容を削除(stashのリストから削除) % git stash drop