GIt小聡明

2389 ワード

  • あるブランチから単一ファイル
  • を検出する.
    ファイルを破壊して再開しようとしたことがありますか?または必要なファイルは別のブランチにありますか?次のコマンドは、あるブランチからそのファイルを直接取り出すようにします.
    あるcommitからyarnを取り出すこともできますロックファイル
    git checkout 9146467 -- yarn.lock

    cherry-pickがあるcommitのすべてのファイルを手に入れるよりも、このテクニックは欲しいファイルだけを手に入れることができます.
  • ログを表示するときにmerge commits
  • をフィルタします.
    mergeを使用すると、新しいコミットが生成され、このコミットが煩わしい場合があります.ログを表示するときにマージされたコミットをフィルタ処理する場合は、次のコマンドを使用します.
    git log --oneline --no-merges
  • 最後のcommit message
  • を書き換える
    最近のコミットでcommit情報がうまく書けなかったり、誤字があったりした場合は、次のコマンドで変更できます.
    git commit -v --amend

    ここで-vはオプションで、commit messageの説明に役立つ追加情報を提供します.
  • 追跡されていない変更をすべて消去
  • .
    まず、git履歴に存在しない新しいファイルを作成した場合、このファイルは追跡されていない変更です.このファイルを追跡するにはgitにコミットする必要があります.
    git checkoutを使用する場合.追跡された変更はすべて消去されます.次のコマンドを使用して、追跡されていない変更をすべて消去します.
    git clean -f -d
  • 可視化されたlog
  • を印刷する
    次のコマンドを使用して、可視化されたlogを印刷します.
    git log --pretty=oneline --graph --decorate --all

    (注:まあ、sourcetreeとは比べものにならない)
  • Gitにchangelog
  • を問い合わせる
    このコマンドはGitに2つのcommitの間で、誰がどのような変更をしたのかを問い合わせることができます.changelogのように見えます.
    git shortlog ..HEAD

    上記のcommitのhash値を記入すると、そのcommitとHEADの間の変化が検出されます.後のHEADも省略できます
    git shortlog HEAD~20も使えます最近20個のcommitの記録を取る
  • クエリー指定日のlog
  • ある2日間のgit logをクエリーする必要がある場合は、git logコマンドで--sinceと--util識別子を組み合わせることができます.
    2016年2月10日から2016年2月19日までのログを検索したい場合は、次の操作を実行できます.
    git log --since='FEB 10 2016' --until='FEB 19 2016'
  • すべてのgit aliases
  • をリスト
    前に設定したgitエイリアスを忘れた場合があります.次のコマンドはgitの機能ではありませんが、すべてのgitエイリアスを見つけることができます.
    git config -l | grep alias | sed 's/^alias\.//g'
    
  • クエリあるキーワードを含むcommits
  • 探しているコードが具体的に何を書いているか、特別なキーワードを知っている場合は、それを使って検索することができます.
    git log -S"config.menu_items"
    

    この例ではconfigを含むすべてのものを検索する.menu_itemsのコミット
  • 究極スキルgit help-g
  • 次のgitチュートリアルのようなリストが表示されます.git helpでブラウザで指定したチュートリアルページを開きます.左側の列が名前です.
    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