初心者向けの 32 Git コマンド チート シート
公開: 2022-09-23GIT コマンド チート シートは、開発者にとって便利なリファレンスであり、git プロジェクトで最も一般的に使用されるコマンドが含まれています。
GITとは?
GIT は、ユーザーがコード、zip、テキスト、またはプロジェクト全体を含むファイルを配置できるオープンソース リポジトリです。
コラボレーション、バージョン管理、プロセス管理など、いくつかの機能があります。GIT はファイルをより効率的に保存し、他のバージョン管理システムよりも優れた整合性を提供します。 Git はコマンドライン ツールです。
GitHubとは?
洗練されたユーザー インターフェイスを備えた GitHub は、開発者のハブであり、最も広く使用されているバージョン管理システムになり、誰でもどこからでもアクセスできます。
Git ワークフロー
Git にはさまざまなワークフローがあり、すべてのプロジェクトには要件に基づいたワークフローが必要です。 Git ワークフローは、プロジェクトを定期的に展開するチームを支援する軽量のブランチベースのワークフローに他なりません。
たとえば、フォークする Git ワークフローは、リポジトリのローカル コピーを作成します。 したがって、各開発者にはローカル ワークスペースと中央リポジトリがあります。 この種のワークフローは、複数の開発者が関与する場合に適しています。開発者は、メイン リポジトリに変更を加える前に、フォークされたコピーで共同作業できます。
Git が必要な理由
Git はバージョン管理システムであるため、開発者は、変更を保存し、他のユーザーが表示できるようにし、変更を他のユーザーとマージするなど、常に作業を行っています。
Git リポジトリに何らかの変更を加える場合、開発者は適切なアクションを実行するための適切なコマンドを知っている必要があります。 以下は、重要で一般的に使用される Git コマンドのリストです。
一般的な Git コマンド
git追加
指定したファイルをステージングに追加するには
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
— すべてのブランチをリストしますgit branch <branch_name
> — 'branch_name' という名前の新しいブランチを作成しますが、新しいブランチをチェックアウトしません。
git branch -d <branch_name>
— ブランチを削除し、マージされていない変更がある場合は削除を防ぎますgit branch -D <branch_name>
— マージされていない変更がある場合でも、ブランチを強制的に削除しますgit branch -m <branch2>
— 現在のブランチの名前を変更します
git cat-file
リポジトリ オブジェクトのコンテンツまたはサイズ/タイプ情報を表示する
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\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'
gitクリーン
ワーキング ディレクタをクリーンアップします。 コミットされたファイルは削除されません
git clean -n
— 削除されるファイルを一覧表示しますgit clean -f
— ファイルを削除します
gitクローン
既存のリポジトリのコピーを新しいディレクトリに作成します。 中央リポジトリの開発用コピーを取得するのに役立ちます。
git clone <central_repo> <new_dir>
— 中央リポジトリのコピーを新しいディレクトリに作成します
例えば:
C:\Users\geek>git clone geekflare 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\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt
git構成
プロパティ値を書き込む構成レベルを指定します。 'Local' レベルがデフォルトです (何も指定されていない場合)。
git config –local
— リポジトリの .git ディレクトリに構成を保存しますgit config –global
— 設定をユーザーのホーム ディレクトリに保存しますgit config –system
— すべてのユーザーとリポジトリの構成が含まれており、ルートの git config ファイルにあります。
git差分
ステージング前、ステージング時、およびステージング後 (コミット) に実行できる git リポジトリの変更を比較します。
git diff
— まだステージングされていないリポジトリの変更を追跡するgit diff --staged
— ステージングされたファイル (コミットされていない) の変更を追跡しますgit diff HEAD
— コミット後のファイルの変更を追跡するgit diff <commit1_id> <commit2_id>
— 2 つのコミット間の変更を追跡します。 「 git log -p --follow --filename
」を使用して commit_ids を見つけることができます
git フェッチ
ブランチまたはリモート リポジトリ全体をフェッチする
git fetch <remote-url>
— リモート リポジトリの URL からリポジトリ全体を取得しますgit fetch <branch_url> <branchname>
— 特定のブランチを取得しますgit fetch -all
— リモートリポジトリのすべてのブランチをフェッチしますgit fetch origin
— ローカル リポジトリを更新し、リモート リポジトリの新しい変更で同期します
git fsck
ファイルシステムチェックコマンドは、データベースオブジェクトの有効性と接続性をチェックします。 オブジェクトの SHA-1ID とそれらが確立する接続をチェックします。 Fsck は、失われたコミットとファイルを回復するのに役立ちます。
git fsck –full
git gc
現在のリポジトリでガベージ コレクションを実行し、未使用のファイルをクリーンアップします。
git gc
git grep
リポジトリ内の特定のコンテンツを検索します。 Git には、さまざまな方法で検索するための多くのオプションが用意されています
git grep -i 'search_term'
— 大文字と小文字を区別せずに検索 [man と man は同じになります]
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
— ファイル (ブロブ) オブジェクトのサイズを表示します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 リポジトリを作成します。
たとえば、「geekflare」という新しいレポを作成するには、次のようにコマンドを指定します。
$ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.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
— ブランチを master にマージします
gitプルーン
現在のブランチから到達できないファイルを削除 (プルーン) します。 使用していないファイルをブランチから削除するためのクリーニング プロセスです。
git prune -n
— 剪定しないで、剪定できるものをすべて表示するだけですgit prune -v
— prune によって実行されたアクションの出力を表示しますgit prune --progress
— プルーンの進行状況を表示しますgit fetch --prune
— 古いブランチをすべて削除します
gitプル
リモートサーバーから作業リポジトリへのデータを受信します。 リモートリポジトリからのすべての最新ファイルでローカル (作業中) ブランチを更新します。
git pull
— リモートリポジトリをプルしますgit pull <repo URL>
— 特定のリモート ブランチをプルします
ギットプッシュ
すべてのローカル変更をリモート リポジトリにプッシュします。 これは、pull および fetches コマンドとは正反対のアップロード プロセスです。
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>
を使用して、プッシュを使用してリモート ブランチを削除することもできます。
例えば:
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 はコミット履歴を保持するため、別のコミット (ハッシュ) で別のリセットを実行して、リセットを元に戻すことができます。
git rm
特定のファイルを git から削除します。 reset または checkout コマンドを使用して、rm の効果を元に戻すことができます。
git rm <file_ name>
— 特定のファイルを削除します
ファイルを git から削除して、ローカル (ステージング) に保持するには、次を使用します。
git rm --cached
gitショー
SHA1 を指定して、ブロブ、ツリー、コミット、タグなどのオブジェクトを表示する
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
— 隠した変更をコミットします。 特定の stash の変更を適用するには、apply とともに stash インデックス 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 “.*”
— 指定されたパターンまたは文字に一致するタグを表示します
gitk
コンテンツ、コミット、完全な差分、およびその他の詳細をウィンドウに表示する git ユーザー インターフェイスを起動します。
gitk
— 視覚化のためにウィンドウで git リポジトリを開きます
git バージョン
git version コマンドを使用して、使用している git のバージョンを確認します。
C:\Users\geekflare>git version git version 2.38.0.windows.1
最後の言葉
この投稿では、最も一般的に使用される git コマンドとそのオプションをリストしました。
次に、GitHub 資格情報スキャナーを確認できます。