GIt小聡明
2389 ワード
ファイルを破壊して再開しようとしたことがありますか?または必要なファイルは別のブランチにありますか?次のコマンドは、あるブランチからそのファイルを直接取り出すようにします.
あるcommitからyarnを取り出すこともできますロックファイル
git checkout 9146467 -- yarn.lock
cherry-pickがあるcommitのすべてのファイルを手に入れるよりも、このテクニックは欲しいファイルだけを手に入れることができます.
mergeを使用すると、新しいコミットが生成され、このコミットが煩わしい場合があります.ログを表示するときにマージされたコミットをフィルタ処理する場合は、次のコマンドを使用します.
git log --oneline --no-merges
最近のコミットでcommit情報がうまく書けなかったり、誤字があったりした場合は、次のコマンドで変更できます.
git commit -v --amend
ここで-vはオプションで、commit messageの説明に役立つ追加情報を提供します.
まず、git履歴に存在しない新しいファイルを作成した場合、このファイルは追跡されていない変更です.このファイルを追跡するにはgitにコミットする必要があります.
git checkoutを使用する場合.追跡された変更はすべて消去されます.次のコマンドを使用して、追跡されていない変更をすべて消去します.
git clean -f -d
次のコマンドを使用して、可視化されたlogを印刷します.
git log --pretty=oneline --graph --decorate --all
(注:まあ、sourcetreeとは比べものにならない)
このコマンドはGitに2つのcommitの間で、誰がどのような変更をしたのかを問い合わせることができます.changelogのように見えます.
git shortlog ..HEAD
上記のcommitのhash値を記入すると、そのcommitとHEADの間の変化が検出されます.後のHEADも省略できます
git shortlog HEAD~20も使えます最近20個のcommitの記録を取る
2016年2月10日から2016年2月19日までのログを検索したい場合は、次の操作を実行できます.
git log --since='FEB 10 2016' --until='FEB 19 2016'
前に設定したgitエイリアスを忘れた場合があります.次のコマンドはgitの機能ではありませんが、すべてのgitエイリアスを見つけることができます.
git config -l | grep alias | sed 's/^alias\.//g'
git log -S"config.menu_items"
この例ではconfigを含むすべてのものを検索する.menu_itemsのコミット
The common Git guides are:
attributes Git
everyday Git
glossary Git
ignore Git
modules Git
revisions Git
tutorial Git (for version 1.5.1 or newer)
workflows Git