Programing/Tool/Git
Last-modified: Sat, 16 Dec 2023 03:38:12 JST (399d)
概要
- 分散型バージョン管理システム
- Linuxカーネルのソースコード管理のためにLinus Torvaldsによって開発された
コマンド早見表
基本コマンド | 使い方 | 説明 | 参考 |
add | * | ローカルへのファイルの追加 | |
. | 全てのファイル・ディレクトリを追加 | ||
*.cpp | 全てのcppファイルを追加 | ||
-i | 対話形式でファイルを追加 | ||
-n | 追加されるファイルを調査 | ||
-p <file> | fileファイルをブロック単位で追加する | ||
-u | 削除or変更された全ファイルを削除or更新 | ||
branch | 作業ブランチを確認する | ||
-r | リモートブランチを確認する | ||
-a | すべてのブランチを確認する | ||
[branch_name] | 作業ブランチからbranch_nameというブランチを作成する | ||
-d [branch_name] | branch_nameというブランチを削除する | ||
-D [branch_name] | branch_nameというブランチを強制削除する | ||
clone | [repository path] | リモートからローカルへのコピー(サブモジュールは除く) | |
--recursive [repository path] | モートからローカルへのコピー(サブモジュール含む) | ||
checkout | . | ローカルからワーキングへのコピー.ワーキングの変更を戻す | |
[file_name] | file_nameファイルをローカルからワーキングにコピー.ワーキングの変更を戻す | ||
[branch_name] | 作業ブランチをbranch_nameというブランチに変更する | ||
[branch_name] [file_name] | branch_nameからワーキングにfile_nameをstaging状態でコピーする | ||
-b [branch_name] | 作業ブランチからbranch_nameというブランチを作成し、作業ブランチに変更する | ||
-b [branch_name] [origin/branch_name] | リモートリポジトリのorigin/branch_nameからローカルにbranch_nameというブランチを作成する | ||
-b [branch_name] [base_name] | base_nameブランチを親にbranch_nameというブランチを作成する | ||
cherry-pick | [commit ID] | 他ブランチの指定コミットを作業ブランチにマージする | |
-e [commit ID] | 他ブランチの指定コミットをコミットメッセージを変更して作業ブランチにマージする | ||
-n [commit ID] | 他ブランチの指定コミットをマージせずに作業ディレクトリに取り込む | ||
[commit ID(a)]..[commit ID(b)] | 他ブランチのa-bで指定の複数コミットを作業ブランチにマージする | ||
commit | -m "commit message" | ローカルへのコミット | |
-a | 変更のあったファイルを全てコミット | ||
--amend | 直前のコミットを取り消しし上書き | ! | |
--amend --date | 直前のコミットを取り消しし日付(AuthorDate)を上書き | ! | |
-v | 変更点を表示してコミット | ||
config | --global user.email "you@example.com" | ユーザのメール設定 | |
user.email | ユーザのメール設定の確認 | ||
--global user.name "Your Name" | ユーザ名の設定 | ||
user.name | ユーザ名の設定の確認 | ||
--global credential.helper cache | 認証情報を15秒間メモリーに保持する。15秒以内であれば認証情報入力不要 | ||
--global credential.helper store | 認証情報をディスクに保存する。次回からは認証情報入力不要 | ||
--global --unset user.password | 記憶した認証情報を削除する | ||
--list | ユーザ情報を一覧表示 | ||
diff | [branch_name1] [branch_name2] | branch_name1というブランチとbranch_name2というブランチを比較する | |
--cached | インデックス追加済みの変更箇所を確認する | ||
fetch | リモートの最新状態を、ローカルにダウンロードする | ||
gc | ローカルリポジトリ内の不要なコミット情報を削除して最適化する | ||
hash-object | -w [ファイル名] | ハッシュオブジェクトを上書きする | ! |
init | リポジトリの初期化 | ||
log | コミットログを表示する | ||
--author="<user_name>" | <user_name>ユーザのコミットを指定して表示する | ||
--numstat | コミットログの変更行数を表示する | ||
--pretty=fuller | コミットログの詳細情報を全表示する | ! | |
-p | 変更点を出力する | ! | |
-<entry number> | 直近<entry number>分のエントリだけ表示する | ||
--since="<date>" | <date>の日付以降のコミットを指定して表示する | ||
--stat | statusと同じような統計情報を表示する | ||
merge | [branch_name] | 作業ブランチにbranch_nameブランチをマージする | |
mv | [before name] [after name] | ファイル名の変更 | |
pull | origin [branch_name] | リモートリポジトリのbranch_nameというブランチをローカルに反映する | |
push | origin [branch_name] | リモートリポジトリにローカルのbranch_nameというブランチをプッシュする | |
-f origin HEAD^:[branch_name] | ローカルのbranch_nameをコンフリクトを無視してリモートに強制反映 | ||
rebase | [branch_name] | 作業ブランチの派生元ブランチをbranch_nameに変更する | |
-i HEAD~n | 直近n個のコミットを取り出し編集する | ! | |
HEAD~n --committer-date-is-author-date | 直近n個のコミットのCommitDateをAutherDateに合うように修正する | ! | |
--continue | 現在のコミットの修正は完了し、編集対象を次のコミットに移す | ||
--onto [new] [old] [work] | workブランチの派生元をoldブランチからnewブランチに変更する | ! | |
remote | set-url origin <url> | 既存のリモートリポジトリ originのURLを<url>に変更する | |
reset | --soft HEAD~2 | 最新のコミットから2件分をワークディレクトリの内容を保持し取り消す | |
--hard HEAD~2 | 最新のコミットから2件分のワークディレクトリの内容とコミットを取り消す | ||
rm | [path] | 特定ファイルを削除 | |
--cached | 直前にaddしたファイルを除外 | ||
status | 変更状況を表示 | ! | |
-s | 短縮表示で変更状況を表示 | ! | |
stash | save | コミットしていない変更を退避する | |
save "message" | 変更をメッセージ付きで退避する | ||
-u | 新規作成ファイルも含めて変更を退避する | ||
apply [stash name] | 指定したstash nameに作業ディレクトリを戻す | ||
list | 退避した変更の[stash name]の一覧を表示する | ||
show [stash name] | 退避の詳細を確認する | ||
drop [stash name] | 退避した作業内容を一覧から消す | ||
clear | 退避した作業をすべて消す | ||
pop [stash name] | 退避した作業を基に戻し記録を削除する | ||
submodule | update --init --recursive | サブモジュールのみクローンする | ! |