GIT コマンド チート シートは開発者にとって便利なリファレンスであり、Git プロジェクトで最も一般的に使用されるコマンドが含まれています。
GITとは何ですか?
GIT は、ユーザーがコード、zip、テキスト、またはプロジェクト全体を含むファイルを配置できるオープンソース リポジトリです。
GIT には、コラボレーション、バージョン管理、プロセス管理などのいくつかの機能があります。GIT は、他のバージョン管理システムよりもファイルをより効率的に保存し、より優れた整合性を提供します。 Git はコマンドライン ツールです。
GitHub とは何ですか?
開発者向けのハブである GitHub は、そのすっきりしたユーザー インターフェイスにより、最も広く使用されているバージョン管理システムとなっており、誰でも、どこからでもアクセスできます。
Git ワークフロー
Git にはさまざまなワークフローがあり、すべてのプロジェクトには要件に基づいたワークフローが必要です。 Git ワークフローは、プロジェクトを定期的にデプロイするチームを支援する軽量のブランチベースのワークフローに他なりません。
たとえば、Git ワークフローをフォークすると、リポジトリのローカル コピーが作成されます。したがって、各開発者はローカル ワークスペースと中央リポジトリを持ちます。この種のワークフローは、複数の開発者が関与する場合に適しており、開発者はメイン リポジトリに変更を加える前にフォークされたコピーで共同作業できます。
なぜ Git が必要なのでしょうか?
Git はバージョン管理システムであるため、開発者は変更を保存したり、他のユーザーが表示できるようにしたり、変更を他のものとマージしたりするために常に作業を行っています。
Git リポジトリに変更を加える場合、開発者は適切なアクションに対する適切なコマンドを知っている必要があります。以下は、重要で一般的に使用される Git コマンドのリストです。
一般的な Git コマンド

git add
指定したファイルをステージングに追加するには
git add <file> -- add a specific file
git add * -- add all the files

git アーカイブ
コミット、ブランチ、ツリーのアーカイブを作成し、複数のファイルを 1 つに結合します。必要に応じてファイルを解凍してコンテンツを取得できます
git archive HEAD
— リポジトリの HEAD ref からアーカイブを作成します
git archive output = '.tar'
— アーカイブされたファイルを指定された場所に保存します
git archive --format=tar.gz
— tar、zip、tar.gz などのアーカイブ ファイルの形式を指定します。

gitブランチ
リポジトリ内のすべてのブランチをリストします。ブランチを指定すると、その名前の新しいブランチが作成されます。ブランチを削除するには、ブランチ名を指定して -d オプションを使用します。現在のブランチの名前を変更するには、-m を使用します。
git branch
— すべてのブランチをリストします。
<a href="https://.com/how-to-create-a-new-git-branch/">git branch</a> <branch_name> -- creates a new branch named 'branch_name' but doesn't check out the new branch.<br><br><code>git branch -d <branch_name>
— ブランチを削除し、マージされていない変更がある場合は削除を防ぎます。
git branch -D <branch_name>
— マージされていない変更が存在する場合でもブランチを強制的に削除します
git branch -m <branch2>
— 現在のブランチの名前を変更します

git 猫ファイル
リポジトリ オブジェクトのコンテンツまたはサイズ/タイプ情報を表示する
git cat-file <object>
— オブジェクトの内容を表示します
git cat-file -t <object>
— オブジェクトのタイプを表示します
git cat-file -s <object>
— オブジェクトのサイズを表示します
git cat-file -p <object>
— オブジェクトのタイプを分かりやすく出力します。
git cat-file -e <object>
— オブジェクトの形式が無効であるか、オブジェクトが存在しない場合に、stderr でエラーを表示します。
git cat-file <type> <object>
— オブジェクトの生の内容を表示します

git チェックアウト
リポジトリの異なるブランチ間を切り替える場合は、「元に戻す」ことができないため、慎重に使用してください。
git checkout <branch_name>
— 指定されたブランチをチェックアウトします
git checkout -b <branch_name>
— 新しいブランチを作成し、このブランチに切り替えます
例えば:
C:\Users\>git checkout -b development_branch
Switched to a new branch 'development_branch'
git clean
作業ディレクターをクリーンアップします。コミットされたファイルは削除されません
git clean -n
— 削除されるファイルをリストします。
git clean -f
— ファイルを削除します
gitクローン
既存のリポジトリのコピーを新しいディレクトリに作成します。中央リポジトリの開発コピーを取得するのに役立ちます。
git clone <central_repo> <new_dir>
— 中央リポジトリのコピーを新しいディレクトリに作成します
例えば:
C:\Users\geek>git clone master
Cloning into 'master'…
done.
git clone -branch <branch> <repo>
— 言及されたリポジトリからブランチのクローンを作成します
gitコミット
変更をステージング環境に保存して、他の人が確認できるようにします。
git commit
— ステージングへの変更をコミットします
git commit -m <useful_msg>
— コミット時に、行われた変更を強調表示するメッセージを表示します。
git commit -a
— ステージングせずに変更を直接コミットします。
たとえば、samplefile.txt という名前のファイルを作業ディレクトリに追加し、そのファイルをコミットしたいとします。上記のコマンドを実行すると、次の出力が得られます。
Please enter the commit message for your changes. Lines starting
with '#' will be ignored, and an empty message aborts the commit.
On branch master
Initial commit
Changes to be committed:
new file: samplefile.txt
メッセージを送信すると、変更がコミットされます。
C:\Users\>git commit -m 'samplemsg'
[integration_branch (root-commit) ed52dd0] 'samplemsg'
1 files changed, 24 insertions(+)
create mode 100644 samplefile.txt
git 構成
プロパティ値を書き込む構成レベルを指定します。 「ローカル」レベルがデフォルトです (何も指定されていない場合)。
git config –local
— リポジトリの .git ディレクトリに設定を保存します。
git config –global
— 設定をユーザーのホームディレクトリに保存します
git config –system
— すべてのユーザーとリポジトリの設定が含まれており、ルートの git config ファイルにあります。
git diff
git リポジトリ内の変更を比較します。これは、ステージング前、ステージング中、ステージング (コミット) 後に実行できます。
git diff
— まだステージングされていないリポジトリの変更を追跡する
git diff --staged
— ステージングされたファイル (コミットされていない) の変更を追跡します。
git diff HEAD
— コミット後のファイルの変更を追跡する
git diff <commit1_id> <commit2_id>
— 2 つのコミット間の変更を追跡します。 「
git log -p --follow --filename
」を使用して commit_id を確認できます。
gitフェッチ
ブランチまたはリモート リポジトリ全体を取得する
git fetch <remote-url>
— リモート リポジトリ URL からリポジトリ全体を取得します
git fetch <branch_url> <branchname>
— 特定のブランチをフェッチします
git fetch -all
— リモート リポジトリのすべてのブランチをフェッチします
git fetch origin
— ローカル リポジトリを更新し、リモート リポジトリの新しい変更と同期します。
git fsck
File System Check K コマンドは 、 データベース オブジェクトの有効性と接続性をチェックします。オブジェクトの SHA-1ID とオブジェクトが確立する接続をチェックします。 Fsck は、失われたコミットやファイルを回復するのに役立ちます。
git fsck –full
git gc
現在のリポジトリでガベージ コレクションを実行し、未使用のファイルをクリーンアップします。
git gc
git grep
リポジトリ内の特定のコンテンツを検索します。 Git には、さまざまな方法で検索するための多くのオプションが用意されています
git grep -i 'search_term'
— 大文字と小文字を無視して検索 [人間と人間は同じになる]
git grep -f <file_name>
— 特定のファイルの一致するパターンを表示する
git grep -e 'search-term'
— パターン マッチングに -e を使用します
git grep -E 'regexp|multiple_exp'
正規表現を検索します。パイプ (OR) 演算子を使用して複数を検索できます。
git grep -n 'expr'
— 一致する行のプレフィックス行番号
git grep -c 'expr'
— 各行の代わりに一致した行の数を表示します
git ls-tree
現在のディレクトリからツリー オブジェクトの内容を一覧表示します。
git ls -tree -d <path>
— 子ではなく、指定されたツリー エントリのみを表示します
git ls -tree -r
— サブツリーへの再帰
git ls -tree -l
— ファイル (BLOB) オブジェクトのサイズを表示する
git ls -tree --name-only
— ファイル名のみを表示し、長い出力は表示しません
git ls -tree --full-name
— 現在のディレクトリからの相対パスだけでなく完全なパス名を表示します
例:
C:\Users\geek>git ls-tree --full-tree -r HEAD
100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt
100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js
gitの初期化
新しい空のリポジトリを作成します。これは、git プロジェクトを作成するために実行する最初のコマンドです。
git init
— 作業ディレクトリに .git リポジトリを作成します。
たとえば、「」という新しいリポジトリを作成するには、次のコマンドを実行します。
$ git init
Initialized empty Git repository in C:/Users/geek//.git/
gitインスタウェブ
ブラウザを通じて git リポジトリを参照するためのユーザー インターフェイス。これには CGI スクリプト GitWeb を使用します。
git instaweb --httpd=webrick
— サーバー (httpd) を起動し、ページ上で Web ブラウザを開きます。
サーバーを停止するには、-stop オプションを指定して上記のコマンドを使用します。
git ログ
git リポジトリ内のすべてのアクティビティを記録します。
git log
— 最新のいくつかのコミットを表示します
git log --oneline
— 出力を SHA の最初の 7 文字として表示し、1 行に 1 つのコミットを含むコミット メッセージを表示します。
git log stat
— 追加/削除された行数、変更された合計レコードの概要、追加/削除された行など、変更されたファイルに関する詳細情報を表示します。
git log --patch (or -p)
— 変更されたファイル、特定の変更、およびそれらの場所を表示します。
git log --graph
— ログ結果をグラフ形式で表示する
git log -<n>
— 最新の「n」個のコミットを表示します
git log --after=<date/x days/yesterday>
— 指定した日付以降のすべてのコミットを表示します。
--before
使用すると、指定した日付より前のコミットを表示できます
git log --author=<author_name>
— 特定の作成者 (ユーザー) のコミットを表示します。
git log --grep=<commit message>
— コミットメッセージに基づいてコミットをフィルタリングします。
gitマージ
すべての開発ファイルを 1 つのブランチに統合し、2 つのブランチを結合し、複数のコミットを 1 つの履歴にマージします。競合がある場合、マージは停止し、git は競合ファイルを表示します。競合が解決されると、マージが続行されます。
git checkout -b
— まず、マージするブランチをチェックアウトします
git add <file>
git commit
— ファイルを追加してコミットします
git checkout master
git merge
— ブランチをマスターとマージします
gitプルーン
現在のブランチから到達できないファイルを削除 (プルーニング) します。ブランチから未使用のファイルを削除するクリーニング プロセスです。
git prune -n
— プルーニングは行わず、プルーニングできるものを表示するだけです
git prune -v
— prune によって実行されたアクションの出力を表示します
git prune --progress
— プルーンの進行状況を表示します
git fetch --prune
— 古いブランチをすべてプルーニングします
git プル
リモート サーバーから作業リポジトリにデータを受信します。リモート リポジトリからのすべての最新ファイルでローカル (作業) ブランチを更新します。
git pull
— リモート リポジトリをプルします
git pull <repo URL>
— 特定のリモート ブランチをプルします
gitプッシュ
すべてのローカル変更をリモート リポジトリにプッシュします。これは、プルおよびフェッチ コマンドとはまったく逆のアップロード プロセスです。
git checkout master
— 最新の変更が含まれるブランチをチェックアウトします
git push origin master
— 変更をリモート リポジトリにプッシュします
例:
C:\Users\geek>git checkout development_branch
Switched to branch 'development_branch'
C:\Users\geek>git push master development_branch
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
To master
[development_branch] development_branch -> development_branch
コマンド
git push --delete <branch>
を使用して、push を使用してリモート ブランチを削除することもできます。
例えば:
C:\Users\geek>git push master --delete development_branch
To master
[deleted] development_branch
gitリベース
異なるブランチからの複数のコミットを結合して、新しい最終ベース コミットを作成します。すべての変更をマージする前に、異なるブランチからの変更を 1 つずつ (線形に) コミットするのに役立ちます。
git rebase <branch name>
— コミットを 1 つの最終的なベースに結合します
競合がある場合は、それを解決してリベースを続行します。
git rebase --continue
変更をスキップするには:
git rebase --skip
gitリモート
リモート サーバーの構成を確認し、リモートとローカル間の接続アクセスを許可します。
git remote
— デフォルトでは、Git によって指定されたリモート サーバーのデフォルト名「origin」を返します。
git remote -v
— 利用可能なすべてのリモート接続の短縮名と URL をリストします。
git remote add <short name> <remote url>
— リモート サーバーを利用可能な接続に明示的に追加します。 URL 全体を指定する代わりに、短縮名を git コマンドに使用できます。
git remote remove <remote url/short name>
— リポジトリからリモート サーバーを削除します
gitリセット
前のコミットに戻り、そのコミット後に加えられた変更を破棄します
git reset <hash of the commit>
— リポジトリを指定されたコミットに復元します。 Git はコミット履歴を保持するため、別のコミット (ハッシュ) を使用して別のリセットを実行し、リセットを元に戻すことができます。
gitrm
特定のファイルを git から削除します。 rm の効果は、reset または checkout コマンドを使用して元に戻すことができます
git rm <file_ name>
— 特定のファイルを削除します
ファイルを git から削除し、ローカル (ステージング) に保持するには、次を使用します。
git rm --cached
git ショー
SHA1 を指定して、BLOB、ツリー、コミット、タグなどのオブジェクトを表示します。
git show
— <object> を指定しないと、ブランチ上の最後のコミットの詳細が表示されます。
git show <SHA1_id>
— BLOB ID、ツリー ID など、SHA1 ID で指定されたオブジェクトのコンテンツを表示します。オブジェクトのタイプを確認するには、コマンド
git cat-file -t
を使用します。
git show –pretty
— 出力を美しい形式で表示します。
カスタム形式を提供できます。
git show --pretty = 'format:Name: <format>'
または、次のように、短い、完全、1 行、中程度、またはより完全な形式のいずれかを使用することもできます。
git show --pretty= 'medium'
— これにより、作成者、日付、タイトル、および完全なコミット メッセージが表示されます
git show --abbrev-commit
— SHA1 を省略します
git スタッシュ
現在のブランチでコミットせずにブランチを切り替えるには、コミットされていないデータを安全に保存します
git stash
— 作業とインデックスの状態を保存します
git stash save <message>
— 保存中にメッセージを表示します
git stash list
— 隠しコンテンツのリストを表示する
git stash apply
— 隠した変更をコミットします。特定のスタッシュの変更を適用するには、apply とともにスタッシュ インデックス ID を使用します。
git stash show
— 隠しファイルの内容を表示する
git stash drop
— 最新の stash をキューから削除します
git ステータス
リポジトリとステージングのステータス、つまりコミットステージ前のステータスを表示します。このコマンドは、ファイルの追加、更新、削除など、他の git コマンドの後に使用できます。
git status
— コミットされる変更、または追跡されていない (ステージングされていない) 変更を表示します。
たとえば、samplefile.txt という名前のファイルを作業ディレクトリに追加し、追加されたかどうかを確認する場合は、上記のコマンドを実行できます。その結果、次のような出力が得られます。
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached …" to unstage)
new file: samplefile.txt
gitタグ
フレンドリ参照は、コード内のマイルストーンまたは参照ポイントを示すために使用されます。
git tag <tag_name>
— 指定された名前でタグを作成します
git tag
— 利用可能なすべてのタグをリストする
git tag show <tag_name>
— 指定したタグの詳細を表示します
git tag -l “.*”
— 指定されたパターンまたは文字に一致するタグを表示します
ギク
内容、コミット、完全な差分、その他の詳細をウィンドウに表示する git ユーザー インターフェイスを起動します。
gitk
— 視覚化するためにウィンドウで git リポジトリを開きます
gitのバージョン
git version コマンドを使用して、使用している git のバージョンを確認します。
C:\Users\>git version
git version 2.38.0.windows.1
最後の言葉
この投稿では、最も一般的に使用される git コマンドとそのオプションをリストしました。
次に、GitHub 資格情報スキャナーをチェックアウトできます。