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 false
git 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 fetch
git 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 fetch
git 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 graph
viエディタの基本編集モード: 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