Git 命令速查表

GIT速查表

设定- She ding

用途コマンド備考すべての設定の確認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マージでコンフリクト発生時、マージ前の状態に戻す(コンフリクト発生から編集を行ったが、コミットはしていない時)

远程代码库

用途コマンド備考リモートリポジトリの一覧表示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]
リモートブランチの変更をローカルブランチに反映させる・1git fetch
git checkout [branchname]
git merge [origin/branchname]
リモートブランチの変更をローカルブランチに反映させる・2git 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

重来。

用途コマンド備考直前のコミットのコメントを変更する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] [コミット番号]

附录

用途コマンドコミット履歴を見やすくするコマンドを登録する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

广告
将在 10 秒后关闭
bannerAds