前回に引き続き、時間を見つけてGitの主要なコマンドをまとめました。非常に素晴らしい、高解像度(1759*3162)のチートシートを見つけました。

ファイルの表示、追加、コミット、削除、復元、変更のリセット

git help # のヘルプを表示

git show # 特定のコミットの内容を表示 git show $id

git co – # ワークスペースの変更を破棄

git co . # ワークスペースの変更を破棄

git add # 作業ファイルの変更をローカルのステージングエリアにコミット

git add . # 変更されたすべての作業ファイルをステージングエリアにコミット

git rm # バージョン管理からファイルを削除

git rm –cached # バージョン管理からファイルを削除するが、ファイル自体は削除しない

git reset # ステージングエリアから作業ファイルに復元

git reset – . # ステージングエリアから作業ファイルに復元

git reset –hard # 直近のコミットの状態に戻す。つまり、前回のコミット以降のすべての変更を破棄

git ci git ci . git ci -a # git add, git rm, git ciなどの操作を一度にまとめて実行                                    git ci -am “some comments”

git ci –amend # 直前のコミットメッセージを修正

git revert <$id> # 特定のコミットの状態に戻す。この復元操作自体も新たなコミットオブジェクトを作成する

git revert HEAD # 直前のコミットの状態に戻す

ファイルの差分(diff)を表示

git diff # 現在のファイルとステージングエリアのファイルの差分を比較 git diff

git diff <$id1> <$id2> # 2つのコミット間の差分を比較

git diff .. # 2つのブランチ間を比較

git diff –staged # ステージングエリアとリポジトリの差分を比較

git diff –cached # ステージングエリアとリポジトリの差分を比較

git diff –stat # 統計情報のみを比較

コミット履歴の表示

git log git log # 指定したファイルの各コミット履歴を表示

git log -p # 各コミットの詳細な変更内容(diff)を表示

git log -p -2 # 直近2回の詳細な変更内容(diff)を表示

git log –stat # コミットの統計情報を表示

tig

Macではtigをdiffとlogの代わりに使用できます。brew install tig

Git ローカルブランチ管理

ブランチの表示、切り替え、作成、削除

git br -r # リモートブランチを表示

git br <new_branch> # 新しいブランチを作成

git br -v # 各ブランチの最終コミット情報を表示

git br –merged # 現在のブランチにマージ済みのブランチを表示

git br –no-merged # 現在のブランチにまだマージされていないブランチを表示

git co # 指定したブランチに切り替え

git co -b <new_branch> # 新しいブランチを作成して、そのブランチに切り替え

git co -b <new_branch> # をベースに新しい<new_branch>を作成

git co $id # 特定の過去のコミットをチェックアウトする。ブランチ情報はなく、他のブランチに切り替えると自動的に削除される

git co $id -b <new_branch> # 特定の過去のコミットをチェックアウトし、新しいブランチとして作成

git br -d # 指定したブランチを削除

git br -D # 指定したブランチを強制的に削除(マージされていないブランチを削除する際に必要)

ブランチのマージとリベース

git merge # ブランチを現在のブランチにマージ

git merge origin/master –no-ff # Fast-Forwardマージをせず、マージコミットを生成する

git rebase master # masterをbranchにリベースする。これは git co <branch> && git rebase master && git co master && git merge <branch> と同等

Git パッチ管理(複数マシンでの開発同期に便利)

git diff > ../sync.patch # パッチを生成

git apply ../sync.patch # パッチを適用

git apply –check ../sync.patch # パッチが正常に適用できるかテスト

Git スタッシュ管理

git stash # 一時退避

git stash list # すべてのスタッシュを一覧表示

git stash apply # 退避した内容を復元

git stash drop # スタッシュを削除

Git リモートブランチ管理

git pull # リモートリポジトリのすべてのブランチの更新を取得し、ローカルにマージ

git pull –no-ff # リモートリポジトリのすべてのブランチの更新を取得し、ローカルにマージするが、Fast-Forwardマージはしない

git fetch origin # リモートリポジトリの更新を取得

git merge origin/master # リモートのmasterブランチを現在のローカルブランチにマージ

git co –track origin/branch # 特定のリモートブランチを追跡する対応するローカルブランチを作成

git co -b <local_branch> origin/<remote_branch> # リモートブランチをベースにローカルブランチを作成。機能は上記と同じ

git push # すべてのブランチをプッシュ

git push origin master # ローカルのmasterブランチをリモートのmasterブランチにプッシュ

git push -u origin master # ローカルのmasterブランチをリモートにプッシュ(リモートにmasterブランチがなければ作成。リモートリポジトリの初期化に使用)

git push origin <local_branch> # リモートブランチを作成。originはリモートリポジトリ名

git push origin <local_branch>:<remote_branch> # リモートブランチを作成

git push origin :<remote_branch> # 先にローカルブランチを削除し(git br -d )、その後プッシュしてリモートブランチを削除

Git リモートリポジトリ管理

GitHub

git remote -v # リモートサーバーのアドレスとリポジトリ名を表示

git remote show origin # リモートサーバーのリポジトリの状態を表示

git remote add origin git@ github:robbin/robbin_site.git # リモートリポジトリのアドレスを追加

git remote set-url origin git@ github.com:robbin/robbin_site.git # リモートリポジトリのアドレスを設定(リモートリポジトリのアドレス変更に使用) git remote rm # リモートリポジトリを削除

リモートリポジトリの作成

git clone –bare robbin_site robbin_site.git # バージョン管理下のプロジェクトからベアリポジトリを作成

scp -r my_project.git git@ git.csdn.net:~ # ベアリポジトリをサーバーにアップロード

mkdir robbin_site.git && cd robbin_site.git && git –bare init # サーバー上でベアリポジトリを作成

git remote add origin git@ github.com:robbin/robbin_site.git # リモートリポジトリのアドレスを設定

git push -u origin master # クライアントからの初回プッシュ

git push -u origin develop # ローカルのdevelopブランチをリモートのdevelopブランチに初めてプッシュし、追跡する

git remote set-head origin master # リモートリポジトリのHEADをmasterブランチに設定

コマンドでリモートリポジトリとローカルリポジトリの追跡設定も可能

git branch –set-upstream master origin/master

git branch –set-upstream develop origin/develop

ヒント:大きな画像は、新しいウィンドウで開いてご覧ください

著作権表示

著者: MoeJue

リンク: https://ja.moejue.cn/posts/57/

ライセンス: クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンス

この作品は、クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンスに基づいてライセンスされています。

検索を開始

キーワードを入力して記事を検索

↑↓
ESC
⌘K ショートカット