Programing/Tool/Git のバックアップソース(No.18)

#contents
----
*概要 [#vfe5aea5]
- 分散型バージョン管理システム
- Linuxカーネルのソースコード管理のためにLinus Torvaldsによって開発された

*コマンド早見表 [#y1d89a41]

|基本コマンド|使い方|説明|参考|h
|add|*|ローカルへのファイルの追加||
|~|.|全てのファイル・ディレクトリを追加||
|~|*.cpp|全てのcppファイルを追加||
|~|-n|追加されるファイルを調査||
|~|-u|変更されたファイルを追加||
|branch||作業ブランチを確認する||
|~|-r|リモートブランチを確認する||
|~|-a|すべてのブランチを確認する||
|~|[branch_name]|作業ブランチからbranch_nameというブランチを作成する||
|~|-d [branch_name]|branch_nameというブランチを削除する||
|~|-D [branch_name]|branch_nameというブランチを強制削除する||
|clone|[repository path]|リモートからローカルへのコピー||
|checkout|.|ローカルからワーキングへのコピー.ワーキングの変更を戻す||
|~|[file_name]|file_nameファイルをローカルからワーキングにコピー.ワーキングの変更を戻す||
|~|[branch_name]|作業ブランチをbranch_nameというブランチに変更する||
|~|-b [branch_name]|作業ブランチからbranch_nameというブランチを作成し、作業ブランチに変更する||
|~|-b [branch_name] [origin/branch_name]|リモートリポジトリのorigin/branch_nameからローカルにbranch_nameというブランチを作成する||
|cherry-pick|[commit ID]|他ブランチの指定コミットを作業ブランチにマージする||
|~|-e [commit ID]|他ブランチの指定コミットをコミットメッセージを変更して作業ブランチにマージする||
|~|[commit ID(a)]..[commit ID(b)]|他ブランチのa-bで指定の複数コミットを作業ブランチにマージする||
|commit|-m "commit message"|ローカルへのコミット||
|~|-a|変更のあったファイルを全てコミット||
|~|--amend|直前のコミットを取り消しし上書き|[[!>https://qiita.com/Yinaura/items/39f3a688f591f2b175dd]]|
|~|--amend --date|直前のコミットを取り消しし日付(AuthorDate)を上書き|[[!>https://qiita.com/wMETAw/items/8444bba258083bd678c8]]|
|~|-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|認証情報をディスクに保存する。次回からは認証情報入力不要||
|~|--list|ユーザ情報を一覧表示||
|diff|[branch_name1] [branch_name2]|branch_name1というブランチとbranch_name2というブランチを比較する||
|~|--cached|インデックス追加済みの変更箇所を確認する||
|fetch||リモートの最新状態を、ローカルにダウンロードする||
|hash-object|-w [ファイル名]|ハッシュオブジェクトを上書きする|[[!>https://www.hide10.com/archives/33013]]|
|init||リポジトリの初期化||
|log||コミットログを表示する||
|~|--pretty=fuller|コミットログの詳細情報を全表示する|[[!>https://qiita.com/wMETAw/items/8444bba258083bd678c8]]|
|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個のコミットを取り出し編集する|[[!>https://qiita.com/takke/items/3400b55becfd72769214]]|
|~|HEAD~n --committer-date-is-author-date|直近n個のコミットのCommitDateをAutherDateに合うように修正する|[[!>https://qiita.com/wMETAw/items/8444bba258083bd678c8]]|
|~|--continue|現在のコミットの修正は完了し、編集対象を次のコミットに移す||
|remote|set-url origin <url>|既存のリモートリポジトリ originのURLを<url>に変更する||
|reset|--soft HEAD~2|最新のコミットから2件分をワークディレクトリの内容を保持し取り消す||
|~|--hard HEAD~2|最新のコミットから2件分のワークディレクトリの内容とコミットを取り消す||
|rm|[path]|特定ファイルを削除||
|~|--cached|直前にaddしたファイルを除外||
|satus| |変更状況を表示|[[!>https://qiita.com/sunstripe2011/items/19df6655b6703e4aaaed]]|
|~|-s|短縮表示で変更状況を表示|[[!>https://qiita.com/tommy_aka_jps/items/af536a7c20747f99aa42]]|
|stash|save|コミットしていない変更を退避する||
|~|save "message"|変更をメッセージ付きで退避する||
|~|-u|新規作成ファイルも含めて変更を退避する||
|~|apply [stash name]|指定したstash nameに作業ディレクトリを戻す||
|~|list|退避した変更の[stash name]の一覧を表示する||
|~|show [stash name]|退避の詳細を確認する||
|~|drop [stash name]|退避した作業内容を一覧から消す||
|~|clear|退避した作業をすべて消す||
|~|pop [stash name]|退避した作業を基に戻し記録を削除する||
* 用語集 [#s9bd98ae]

*参考リンク [#q6f0bfb6]
-[[【Git】基本コマンド>https://qiita.com/konweb/items/621722f67fdd8f86a017]]
-[[Gitの基本操作逆引き辞典>https://qiita.com/ray_20500/items/490b4a49f6da20b616a7]]
-[[Gitを使いこなしたい!〜仕組みとコマンド24選〜>https://qiita.com/satona-oinuma/items/97205ca0ce04dcae2adb]]