Programing/Tool/Git

Last-modified: Sat, 16 Dec 2023 03:38:12 JST (185d)
Top > Programing > Tool > Git

概要

  • 分散型バージョン管理システム
  • 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>の日付以降のコミットを指定して表示する
--statstatusと同じような統計情報を表示する
merge[branch_name]作業ブランチにbranch_nameブランチをマージする
mv[before name] [after name]ファイル名の変更
pullorigin [branch_name]リモートリポジトリのbranch_nameというブランチをローカルに反映する
pushorigin [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ブランチに変更する!
remoteset-url origin <url>既存のリモートリポジトリ originのURLを<url>に変更する
reset--soft HEAD~2最新のコミットから2件分をワークディレクトリの内容を保持し取り消す
--hard HEAD~2最新のコミットから2件分のワークディレクトリの内容とコミットを取り消す
rm[path]特定ファイルを削除
--cached直前にaddしたファイルを除外
status変更状況を表示!
-s短縮表示で変更状況を表示!
stashsaveコミットしていない変更を退避する
save "message"変更をメッセージ付きで退避する
-u新規作成ファイルも含めて変更を退避する
apply [stash name]指定したstash nameに作業ディレクトリを戻す
list退避した変更の[stash name]の一覧を表示する
show [stash name]退避の詳細を確認する
drop [stash name]退避した作業内容を一覧から消す
clear退避した作業をすべて消す
pop [stash name]退避した作業を基に戻し記録を削除する
submoduleupdate --init --recursiveサブモジュールのみクローンする!

用語集

参考リンク