Git常用コマンドとテクニック
3429 ワード
git commit:
git push:
git diff:
git fetch:
git clone:
git log:
git checkout:
git branch:
git remote:
git reset:
git reset--soft:commitを取り消してロールバックし、index fileに影響を与えず、どの位置に取り消すかは最後のパラメータで指定する.git reset--soft HEAD^git reset--hard:commitを取り消し、index file and workspace git reset--mixed:デフォルトオプション、commit and index fileを取り消し、workspaceのみを保持します.git reset--:index fileに登録されているファイルを削除します.
git show-branch:
+(プラス記号)は、ブランチがこの行によって識別されたcommit(スペース)を含むことを示します.ブランチがこの行によって識別されたcommit-(マイナス記号)を含まないことを示します.ブランチがmergeによって得られたものであり、行の内容がmergeの基本情報であることを示します.*(アスタリスク)は、あるカラムに+(プラス記号)を識別する必要があり、このカラムが現在のブランチがあるカラムである場合、+(プラス記号)を*(アスタリスク)に変換することを示します.
git:
git削除ファイルの復元
gitブランチリカバリファイルの作成手順:
削除したファイルを表示するには、git ls-files-deletedリカバリを新規checkout:git checkout-複数のファイルを同時に操作するにはxargs git ls-fies-d|xargs git checkout--
git checkout-f削除ファイルを復元
ファイルまたはフォルダのコミットを無視
1.は.gitignoreファイル内にファイル名やディレクトリ名を書き込むとコミットは無視されますが、trackされていないファイルやディレクトリのみに有効であり、バージョン管理が加わったファイルには無効です.
2.バージョン管理に追加されたファイルまたはディレクトリは、次のコマンドを使用して無視できます.
git update-index --assume-unchanged PATH
よくある質問
1.git remote add originを実行...エラーが発生しました:fatal:remote origin already exists.次のコマンドを実行してgit remote add origin...:
git remote rm origin
git commit --amend
前回のコミットの取り消しgit push:
git push [remote-name] [master]
リモートウェアハウスgit push origin :[branch-name]
にデータをプッシュするリモートブランチを削除する.git diff:
git diff --name-only 73a79c 2d49d2
2バージョンの間に変更されたファイルのリストgit diff:workspace and index file.git diff HEAD: workspace and commint git diff --cached: index file and commit git fetch:
git fetch [remote-name]
リモート・ウェアハウスのすべてのコミット情報を取り戻すgit clone:
git clone [url]
リモートウェアハウスのmasterブランチを取得git log:
git log -1 HEAD
は、最後のコミット情報を表示するgit log -p
は、各コミットの内容の違いを表示し、パラメータ-numは、最近のnumコミットの違いを表示するgit log --stat
は、変更行数の統計のみを表示する.git reflog
rest,checkoutなどの操作記録を表示する.git log --pretty=oneline
は、1行毎に送信情報を表示する.git log --pretty=fuller
は、追加的に送信日を表示する.git log --since=2.weeks
最近の2週間の変更を表示git log --pretty=format:"%h - %an, %ar : %s"
オプション説明%Hコミットオブジェクト(commit)の完全ハッシュ文字列%hコミットオブジェクトの単純ハッシュ文字列%Tツリーオブジェクト(tree)の完全ハッシュ文字列%tツリーオブジェクトの単純ハッシュ文字列%P親オブジェクト(parent)の完全ハッシュ文字列%p親オブジェクトの単純ハッシュ文字列%an作成者(author)の名前%ae作成者の電子メールアドレス%ad作成者改訂日(-date=オプションでフォーマットをカスタマイズできます)%ar作成者の改訂日、%cnコミット者(committer)の名前%ceコミット者の電子メールアドレス%cdコミット日%crコミット日をどのくらい前に表示し、%sコミット説明をどのくらい前に表示しますかgit checkout:
git checkout -- <file>
ファイルfileに対する修正git checkout -b branch-name
の作成を取り消し、パーティションに切り替える.git branch:
git breanch -d branch-name
ブランチを削除する.git branch -D branch-name
強制的にブランチを削除する.git merge master
は、主ブランチを現在のブランチに併合する.git remote:
git remote
現在のアイテムを一覧表示するリモート・ライブラリgit remote -v
現在のアイテムに対応するクローン・アドレスgit remote add [shortname] [url]
追加リモート・ウェアハウスgit remote show [remote-name]
リモート・ウェアハウスの詳細を表示git remote [remote-old-name] [remote-new-name]
リモート・ウェアハウス名を変更git remote rm [remote-name]
リモート・ウェアハウスを削除git reset:
git reset HEAD <file>
一時保存されたファイルを取り消すgit reset--soft:commitを取り消してロールバックし、index fileに影響を与えず、どの位置に取り消すかは最後のパラメータで指定する.git reset--soft HEAD^git reset--hard:commitを取り消し、index file and workspace git reset--mixed:デフォルトオプション、commit and index fileを取り消し、workspaceのみを保持します.git reset--:index fileに登録されているファイルを削除します.
git show-branch:
+(プラス記号)は、ブランチがこの行によって識別されたcommit(スペース)を含むことを示します.ブランチがこの行によって識別されたcommit-(マイナス記号)を含まないことを示します.ブランチがmergeによって得られたものであり、行の内容がmergeの基本情報であることを示します.*(アスタリスク)は、あるカラムに+(プラス記号)を識別する必要があり、このカラムが現在のブランチがあるカラムである場合、+(プラス記号)を*(アスタリスク)に変換することを示します.
git:
git gc
収縮空間git count-objects -v
占有空間の大きさを確認する.git削除ファイルの復元
gitブランチリカバリファイルの作成手順:
git branch [recover-branch]
git checkout [recover-branch]
git checkout master
git branch -D recover-branch
削除したファイルを表示するには、git ls-files-deletedリカバリを新規checkout:git checkout-
git checkout-f削除ファイルを復元
ファイルまたはフォルダのコミットを無視
1.は.gitignoreファイル内にファイル名やディレクトリ名を書き込むとコミットは無視されますが、trackされていないファイルやディレクトリのみに有効であり、バージョン管理が加わったファイルには無効です.
2.バージョン管理に追加されたファイルまたはディレクトリは、次のコマンドを使用して無視できます.
git update-index --assume-unchanged PATH
よくある質問
1.git remote add originを実行...エラーが発生しました:fatal:remote origin already exists.次のコマンドを実行してgit remote add origin...:
git remote rm origin