私は毎日Gitを使用していますが、多くのコマンドを思い出せません。
一般的に言って、日常的に使用するために覚えておく必要があるのは、下の図の6つのコマンドだけです。しかし、それを上手に使うなら、60-100のコマンドを覚えておく必要があるのではないかと思います。
以下は、私がコンパイルした一般的に使用されるGitコマンドのリストです。いくつかの特定の名詞の翻訳された名前は次のとおりです。
ワークスペース:作業領域
インデックス/ステージ:一時保管領域
リポジトリ:倉庫領域(またはローカル倉庫)
リモート:リモート倉庫
最初にクイックリファレンスフォームを添付してください
1つは、新しいコードベースを作成する
現在のディレクトリに新しいGitコードライブラリを作成します
$ git init
新しいディレクトリを作成し、Gitコードベースとして初期化します
$ git init [project-name]
プロジェクトとそのコード履歴全体をダウンロードする
$ git clone [url]
二、配置
Gitの設定ファイルは.gitconfigで、ユーザーのホームディレクトリ(グローバル構成)またはプロジェクトディレクトリ(プロジェクト構成)にあります。
現在のGit構成を表示する
$ git config --list
Git構成ファイルを編集する
$ git config -e [--global]
コード送信時にユーザー情報を設定する
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
3、ファイルの追加/削除
指定したファイルをステージング領域に追加します
$ git add [file1] [file2] ...
指定したディレクトリを、サブディレクトリを含む一時記憶域に追加します
$ git add [dir]
現在のディレクトリ内のすべてのファイルをステージング領域に追加します
$ git add .
各変更を追加する前に、同じファイルへの複数の変更を確認するように求められます。これは段階的に送信できます。
$ git add -p
作業領域ファイルを削除し、この削除を一時記憶域に配置します
$ git rm [file1] [file2] ...
指定されたファイルの追跡を停止しますが、ファイルはワークスペースに残ります
$ git rm --cached [file]
ファイルの名前を変更し、この名前を一時ストレージ領域に配置します
$ git mv [file-original] [file-renamed]
4、コード送信
一時保管域を倉庫域に提出します
$ git commit -m [message]
一時保管エリア内の指定ファイルを倉庫エリアに提出してください
$ git commit [file1] [file2] ... -m [message]
前回のコミット以降の作業領域の変更を、倉庫領域に直接送信します
$ git commit -a
送信時にすべての差分情報を表示する
$ git commit -v
新しいコミットを使用して、前のコミットを置き換えます。コードに新しい変更がない場合は、前のコミットのコミット情報を書き換えるために使用されます。
$ git commit --amend -m [message]
最後のコミットをやり直し、指定したファイルに新しい変更を含めます
$ git commit --amend [file1] [file2] ...
ファイブ、ブランチ
すべてのローカルブランチを一覧表示します
$ git branch
すべてのリモートブランチを一覧表示します
$ git branch -r
すべてのローカルブランチとリモートブランチを一覧表示します
$ git branch -a
新しいブランチを作成しますが、現在のブランチのままにします
$ git branch [branch-name]
新しいブランチを作成し、このブランチに切り替えます
$ git checkout -b [branch]
新しいブランチを作成し、指定されたコミットをポイントします
$ git branch [branch] [commit]
新しいブランチを作成し、指定したリモートブランチとの追跡関係を確立します
$ git branch --track [branch] [remote-branch]
指定されたブランチに切り替えて、ワークスペースを更新します
$ git checkout [branch-name]
前のブランチに切り替えます
$ git checkout -
既存のブランチと指定されたリモートブランチの間に追跡関係を確立します
$ git branch --set-upstream [branch] [remote-branch]
指定したブランチを現在のブランチにマージします
$ git merge [branch]
コミットを選択し、現在のブランチにマージします
$ git cherry-pick [commit]
ブランチを削除する
$ git branch -d [branch-name]
リモートブランチを削除する
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
6、ラベル
すべてのタグを一覧表示
$ git tag
現在のコミットで新しいタグを作成します
$ git tag [tag]
指定されたコミットで新しいタグを作成します
$ git tag [tag] [commit]
ローカルタグを削除する
$ git tag -d [tag]
リモートタグを削除する
$ git push origin:refs / tags / [tagName]
タグ情報を表示する
$ git show [tag]
指定されたタグを送信します
$ git push [remote] [tag]
すべてのタグを送信する
$ git push [remote] --tags
タグを指す新しいブランチを作成します
$ git checkout -b [branch] [tag]
セブン、情報を見る
変更されたファイルを表示する
$ git status
現在のブランチのバージョン履歴を表示します
$ git log
コミット履歴と毎回変更されたファイルを表示する
$ git log --stat
キーワードに従って投稿履歴を検索する
$ git log -S [keyword]
特定のコミット後のすべての変更を表示します。各コミットは1行を占めます
$ git log [tag] HEAD --pretty=format:%s
特定のコミット後のすべての変更を表示し、その「送信の説明」は検索条件を満たしている必要があります
$ git log [tag] HEAD --grep feature
ファイルの名前変更を含む、ファイルのバージョン履歴を表示します
$ git log --follow [file]
$ git whatchanged [file]
指定されたファイルに関連するすべての差分を表示します
$ git log -p [file]
最後の5つのコミットを表示する
$ git log -5 --pretty --oneline
送信されたすべてのユーザーを送信数で並べ替えて表示
$ git shortlog -sn
指定したファイルを誰がいつ変更したかを表示する
$ git blame [file]
ステージングエリアとワークエリアの違いを表示する
$ git diff
ステージング領域と前のコミットの違いを表示する
$ git diff --cached [file]
ワークスペースと現在のブランチの最新のコミットの違いを表示する
$ git diff HEAD
2つのコミットの違いを表示する
$ git diff [first-branch]...[second-branch]
今日書いたコードの行数を表示します
$ git diff --shortstat "@{0 day ago}"
提出物のメタデータとコンテンツの変更を表示する
$ git show [commit]
特定のコミットで変更されたファイルを表示する
$ git show --name-only [commit]
送信時にファイルの内容を表示する
$ git show [commit]:[filename]
現在のブランチの最後のいくつかのコミットを表示します
$ git reflog
8つのリモート同期
リモートウェアハウスのすべての変更をダウンロードします
$ git fetch [remote]
すべてのリモート倉庫を表示
$ git remote -v
リモートウェアハウスに関する情報を表示する
$ git remote show [remote]
新しいリモートウェアハウスを追加し、名前を付けます
$ git remote add [shortname] [url]
リモートウェアハウスで変更を取得し、ローカルブランチとマージします
$ git pull [remote] [branch]
ローカルの指定されたブランチをリモートウェアハウスにアップロードします
$ git push [remote] [branch]
競合が発生した場合でも、現在のブランチをリモートウェアハウスに強制的にプッシュします
$ git push [remote] --force
すべてのブランチをリモートウェアハウスにプッシュします
$ git push [remote] --all
ナイン、失効
一時記憶域にある指定したファイルを作業域に復元します
$ git checkout [file]
コミットの指定されたファイルを一時記憶域と作業域に復元します
$ git checkout [commit] [file]
一時ストレージ領域内のすべてのファイルを作業領域に復元します
$ git checkout .
一時ストレージ領域内の指定されたファイルをリセットして、最後のコミットと一致させますが、作業領域は変更されません。
$ git reset [file]
最後のコミットと一致するように一時記憶域と作業域をリセットします
$ git reset --hard
現在のブランチのポインターを指定されたコミットにリセットし、同時に一時記憶域をリセットしますが、作業域は変更されません。
$ git reset [commit]
現在のブランチのHEADを指定されたコミットにリセットし、指定されたコミットと一致して、一時記憶域と作業域を同時にリセットします。
$ git reset --hard [commit]
現在のHEADを指定されたコミットにリセットしますが、一時記憶域と作業域は変更しないでください
$ git reset --keep [commit]
新しいコミットを作成して、指定したコミットを取り消します。後者のすべての変更は前者によって相殺され、現在のブランチに適用されます。
$ git revert [commit]
コミットされていない変更を一時的に削除し、後で移動します
$ git stash
$ git stash pop
10.その他
公開用の圧縮パッケージを生成する
$ git archive