Git 命令速查表
GIT速查表
设定- She ding
用途コマンド備考すべての設定の確認
設定の変更
メールアドレス登録
コマンドラインの色
ファイル名の大文字・小文字を検知できるようにする
短縮コマンドの登録
git [alias_command] で [git_command] が実行される”
チェックアウト時、コミット時の改行コード変換の設定を変更する
・input: チェックアウト時変換なし、コミット時LF
・false: 変換なし
git config -l --show-originオプションで絞り込みが可能--system:システム全体の設定--global:ユーザ固有の設定--local:リポジトリ固有の設定特定の設定の確認git config [設定項目]設定の変更
git config --global [設定項目] [設置値]リポジトリ固有の設定の場合は--globalを--localに変更する設定の削除git config --global --unset [設定項目]リポジトリ固有の設定の場合は--globalを--localに変更するユーザ名設定git config --global user.name "[name]"メールアドレス登録
git config --global user.email "[email@address]"コマンドラインの色
git config --global color.ui autoファイル名の大文字・小文字を検知できるようにする
git config core.ignorecase false短縮コマンドの登録
git [alias_command] で [git_command] が実行される”
git config --global alias.[alias_command] "[git_command]"merge --no-ff をデフォルトにするgit config --global --add merge.ff falsegit config --global --add pull.ff onlyチェックアウト時、コミット時の改行コード変換の設定を変更する
git config --global core.autocrlf [値]・true: チェックアウト時CRLF、コミット時LF・input: チェックアウト時変換なし、コミット時LF
・false: 変換なし
创建存储库
用途コマンドローカルリポジトリ作成
git initリモートからクローン作成git clone [url]确定
用途コマンドstaged / modified / untracked の一覧
git status[履歴] 現在のブランチの履歴git log[履歴] ファイルの履歴git log --follow [file/path][差分] ブランチ間差分表示git diff [first-brach] [second-branch][差分] ワーキングディレクトリ と ステージングエリア の差分を表示git diff舞台布置
用途コマンド指定のファイルを staged にする(スペース区切りで複数選択)
git add [file/path]すべての modified を staged にする (–update)git add -uすべての untracked とすべての modified を staged にする (–all)git add -Aカレントディレクトリのすべてのファイルを staged にする (cf. -A はリポジトリ全体)git add .staged から modified にもどすgit reset [file/path]指定のファイルを部分的に staged にするgit add -p [file/path]提交
用途コマンドコミット
git commit -m "[comment]"ステージング(untrackedは対象外) & コミットgit commit -a -m "[comment]"直前のコミットのコメントを修正するgit commit --amend -m "[comment]"结账
用途コマンドチェックアウト
git checkout [branchname]ブランチ作成 & チェックアウトgit checkout -b [branchname]特定のコミットからブランチを作成してチェックアウトgit checkout -b [branchname] [コミットID]リモートブランチからローカルブランチを作成してチェックアウトgit checkout -b [branchname] [remote_branchname]分店
用途コマンドローカルブランチの一覧
git branchローカルブランチとリモート追跡ブランチの一覧git branch -aリモート追跡ブランチの一覧git branch -r上流ブランチを確認するgit branch -vvブランチ作成git branch [branchname]ブランチ名の変更git branch -m [new_branchname]ブランチ削除git branch -d [branchname]リベース (ブランチの付替え)git checkout [対象ブランチ]git rebase [ブランチを生やすブランチ名]リベースの中断git rebase --abort他ブランチのコミットを取り込むgit cherry-pick [コミットID]タグの作成git tag [tagname]リモートブランチからローカルブランチの作成git branch [branchname] [remote_branchname]リモートブランチの削除git push --delete origin [remote_branchname]git branch -a --format="%(refname:short)" | grep -e "^ブランチ名$" -i
合併
合并是分支的合流。变基是分支的替换。
用途コマンド備考マージ (ブランチの合流)
git checkout [取込先ブランチ]git merge [対象ブランチ] --no-ff--no-ffをつけると必ずマージコミット--ff-onlyをつけると必ずファストフォワードマージの中止git merge --abortマージでコンフリクト発生時、マージ前の状態に戻す(コンフリクト発生からなにも編集をしていない時)マージの中止git reset --hard HEADマージでコンフリクト発生時、マージ前の状態に戻す(コンフリクト発生から編集を行ったが、コミットはしていない時)远程代码库
用途コマンド備考リモートリポジトリの一覧表示
リモートリポジトリのURLを一覧表示
リモートリポジトリを追加する
リモートリポジトリのpush先だけ変更する
リモート追跡ブランチを指定ローカルブランチにマージする
リモートブランチの変更をローカルブランチに反映させる・1
リモートブランチの変更をローカルブランチに反映させる・2
リモートブランチからローカルブランチを作成してチェックアウト
現在のブランチの変更をリモートブランチに反映させる
リモートブランチの削除
git remoteリモートリポジトリのURLを一覧表示
git remote -v一覧の(fetch)は取得用のURL、(push)は送信先のURLを表す。通常は一致する。リモートリポジトリを切断するgit remote remove [リモートリポジトリ名]リモートリポジトリを追加する
git remote add [リモートリポジトリ名] [URL]リモートリポジトリのpush先だけ変更する
git remote set-url --push [リモートリポジトリ名] [URL]URLをダミーの文字列にすると、pullは可能だが、push不可。リモートリポジトリのすべてのブランチの更新履歴をリモート追跡ブランチに取り込むgit fetchリモート追跡ブランチを指定ローカルブランチにマージする
git merge [origin/branchname] [branchname]リモートブランチの変更をローカルブランチに反映させる・1
git fetchgit checkout [branchname]git merge [origin/branchname]リモートブランチの変更をローカルブランチに反映させる・2
git pull--all をつけると上流ブランチを設定しているローカルブランチすべてに反映させるリモートブランチからローカルブランチの作成git branch [branchname] [remote_branchname]リモートブランチからローカルブランチを作成してチェックアウト
git checkout -b [branchname] [remote_branchname]現在のブランチの変更をリモートブランチに反映させる
git push--all をつけるとすべてのローカルブランチを反映する現在のブランチのリモートブランチを作成するgit push --set-upstream origin [branchname]リモートブランチの削除
git push --delete origin [remote_branchname]文件编辑和删除
用途コマンド備考ファイル名の変更、ファイルの移動
ファイルを削除する
ファイル名変更・コミット
git mv [old_file/path] [new_file/path]ファイルを削除する
git rm [file/path]ファイルを削除し、監視対象から外す。ファイルの指定にワイルドカードが使用可能。例:'*.xml'ファイルを監視対象から外すgit rm --cached [file/path]ファイルを残したまま、監視対象から外す。ディレクトリを監視対象から外すgit rm --cached -r [path]ファイル名変更・コミット
git mv [file_original] [file_renamed]-
- ファイル名を直接変更すると削除・作成とみなされることがある。ファイル名変更を追跡するにはgit rmを使用する。
- ファイル名の大文字・小文字を変更する時、ファイル名を直接変更すると差分が認識されない。git rmを使用する。
储存 (暂时更改保存)
用途コマンドmodified と staged を保存し、HEADの状態までクリーンに戻す
git stash直近の記録をワーキングディレクトリに反映する (LIFO(後入れ先出し))git stash popスタッシュの一覧を表示するgit stash list直近の記録を破棄する (LIFO)git stash drop重来。
用途コマンド備考直前のコミットのコメントを変更する
commit_id 以降のすべてのコミットを取り消し
[commit_id]を
[commit_id]を
マージを取り消す
コミットを打ち消すコミットをする
ワークツリーの特定のファイルを以前の状態に戻す
遡ってコメントを修正する
# viエディタで対象のコミットのpickをeditに変更し、保存
削除したブランチを戻す
# viでHEADの履歴が表示される
# 消してしまったブランチの最後のコミットを見つけたらコミット番号をコピー
git commit --amend -m "[comment]"commit_id 以降のすべてのコミットを取り消し
git reset --soft [commit_id]ワーキングディレクトリとステージングエリアはリセットしない。[commit_id]を
HEAD^に変更すると直前のコミットを取り消すcommit_id 以降のすべてのコミットを取り消しgit reset --hard [commit_id]ワーキングディレクトリとステージングエリアもリセットする。[commit_id]を
HEAD^に変更すると直前のコミットを取り消すローカルブランチをリモートブランチに一致させるgit fetchgit reset --hard origin/branchnameマージを取り消す
git merge --abortコミットを打ち消すコミットをする
git revert [commit_id]ワークツリーの特定のファイルを以前の状態に戻す
git checkout [commit_id] [file/path] [commit_id]を指定しなければ直前のコミットの状態に戻る。直前のコミットに変更を追加するgit add [file/path]git commit --amend --no-edit遡ってコメントを修正する
git rebase -i HEAD~3# viエディタで対象のコミットのpickをeditに変更し、保存
git commit --amend -m "[comment]"git rebase --continue削除したブランチを戻す
git reflog# viでHEADの履歴が表示される
# 消してしまったブランチの最後のコミットを見つけたらコミット番号をコピー
git branch [branchname] [コミット番号]附录
用途コマンドコミット履歴を見やすくするコマンドを登録する
コマンドモード: Esc
保存: 「:w」
閉じる: 「:q」
git config --global alias.graph "log --graph --date-order --all --pretty=format:'%h %Cred%d %Cgreen%ad %Cblue%cn %Creset%s' --date=short"コミット履歴を表示git graphviエディタの基本編集モード: iコマンドモード: Esc
保存: 「:w」
閉じる: 「:q」
创建一个新仓库
$ git init
$ git add -A
$ git commit -m "init"
$ git remote add origin [url]
$ git push -u origin master
将已存在的本地存储库推送到远程。
$ git remote add origin [url]
$ git push -u origin master
从已经存在的远程仓库中复制到本地。
$ git clone [url]
请参考
-
- git | git-scm
-
- 解説書(日本語) | git-scm
-
- Git コマンドリファレンス(日本語版)
introduction-to-git | GitHub
「※コミット履歴を見やすくするコマンドを登録する」はこちらから拝借しました。
[git]コミット履歴を見やすく表示するためのコマンドが便利 | dackdive’s blog
gitのmerge –no-ff のススメ | Qiita
[git reset (–hard/–soft)]ワーキングツリー、インデックス、HEADを使いこなす方法 | Qiita
GitHub GITチートシート(PDF)
横着で神経質な私とあなたに贈るgit add -p | Qiita