CINXE.COM
Git - Searching
<!DOCTYPE html> <html lang="mk"> <head> <meta charset='utf-8'> <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Git - Searching</title> <link href="/favicon.ico" rel='shortcut icon' type='image/x-icon'> <link rel="stylesheet" href="/application.min.css"> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> </head> <body id="documentation"> <div class="inner"> <header> <a href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" /></a> <span id="tagline"></span> <script type="text/javascript"> const taglines = [ "fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized" ]; var tagline = taglines[Math.floor(Math.random() * taglines.length)]; document.getElementById('tagline').innerHTML = '--' + tagline; </script> <form id="search" action="/search/results"> <input id="search-text" name="search" placeholder="Type / to search entire site…" autocomplete="off" type="text" /> </form> <div id="search-results"></div> </header> </div> <div class="inner"> <div id="content-wrapper"> <div tabindex="1" class="sidebar-btn"></div> <aside class="sidebar" id="sidebar"> <nav> <ul> <li> <a href="/about">About</a> <ul> </ul> </li> <li> <a href="/doc" class="active">Documentation</a> <ul class="expanded"> <li> <a href="/docs">Reference</a> </li> <li> <a href="/book" class="active">Book</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/doc/ext">External Links</a> </li> </ul> </li> <li> <a href="/downloads">Downloads</a> <ul > <li> <a href="/downloads/guis">GUI Clients</a> </li> <li> <a href="/downloads/logos">Logos</a> </li> </ul> </li> <li> <a href="/community">Community</a> </li> </ul> <hr class="sidebar"> <p> This book is available in <a href="/book/en/v2/Git-Tools-Searching">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Axtar%c4%b1%c5%9f">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Git-Tools-Suchen">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Herramientas-de-Git-Buscando">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Utilitaires-Git-Recherche">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja/v2/Git-%e3%81%ae%e3%81%95%e3%81%be%e3%81%96%e3%81%be%e3%81%aa%e3%83%84%e3%83%bc%e3%83%ab-%e6%a4%9c%e7%b4%a2">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%8f%84%ea%b5%ac-%ea%b2%80%ec%83%89">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Git-Tools-Zoeken">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/%d0%98%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d1%8b-Git-%d0%9f%d0%be%d0%b8%d1%81%d0%ba">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Orodja-Git-Iskanje">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Paghahanap">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/%d0%86%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-Git-%d0%9f%d0%be%d1%88%d1%83%d0%ba">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%b7%a5%e5%85%b7-%e6%90%9c%e7%b4%a2">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/Git-Tools-Searching">Čeština</a>,</td></tr> <tr><td><a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Searching">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Narz%c4%99dzia-Gita-Searching">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%93%d0%b8%d1%82-%d0%b0%d0%bb%d0%b0%d1%82%d0%b8-%d0%9f%d1%80%d0%b5%d1%82%d1%80%d0%b0%d0%b3%d0%b0">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-Tools-Searching">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/Git-%e5%b7%a5%e5%85%b7-Searching">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Tools-Searching">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/Git-Tools-Searching" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Tools-Searching">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Tools-Searching">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Tools-Searching">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Git-Tools-Searching">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ferramentas-do-Git-Searching">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-Tools-Searching">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Ara%c3%a7lar%c4%b1-Arama">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/progit2-mk/progit2">hosted on GitHub.</a></br> Patches, suggestions and comments are welcome. </p> </nav> </aside> <div id="content"> <div id="book-chapters"> <a class="dropdown-trigger" id="book-chapters-trigger" data-panel-id="chapters-dropdown" href="#">Chapters ▾</a> <div class='dropdown-panel' id='chapters-dropdown'> <div class='three-column'> <div class="column-left"> <ol class='book-toc'> <li class='chapter'> <h2>1. <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%97%d0%b0-%d0%b2%d0%b5%d1%80%d0%b7%d0%b8%d1%81%d0%ba%d0%b0-%d0%ba%d0%be%d0%bd%d1%82%d1%80%d0%be%d0%bb%d0%b0">Почеток</a></h2> <ol> <li> 1.1 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%97%d0%b0-%d0%b2%d0%b5%d1%80%d0%b7%d0%b8%d1%81%d0%ba%d0%b0-%d0%ba%d0%be%d0%bd%d1%82%d1%80%d0%be%d0%bb%d0%b0">За верзиска контрола</a> </li> <li> 1.2 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%9a%d1%80%d0%b0%d1%82%d0%ba%d0%b0-%d0%b8%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git">Кратка историја на Git</a> </li> <li> 1.3 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-%d0%93%d0%b8%d1%82">Основи на Гит</a> </li> <li> 1.4 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%9a%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%bd%d0%b0%d1%82%d0%b0-%d0%bb%d0%b8%d0%bd%d0%b8%d1%98%d0%b0">Командната линија</a> </li> <li> 1.5 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%98%d0%bd%d1%81%d1%82%d0%b0%d0%bb%d0%b8%d1%80%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git">Инсталирање на Git</a> </li> <li> 1.6 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-First-Time-Git-Setup">First-Time Git Setup</a> </li> <li> 1.7 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-Getting-Help">Getting Help</a> </li> <li> 1.8 <a href="/book/mk/v2/%d0%9f%d0%be%d1%87%d0%b5%d1%82%d0%be%d0%ba-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-%d0%94%d0%be%d0%b1%d0%b8%d0%b2%d0%b0%d1%9a%d0%b5-%d1%81%d0%ba%d0%bb%d0%b0%d0%b4%d0%b8%d1%88%d1%82%d0%b5-%d0%b7%d0%b0-Git">Основите на Git</a></h2> <ol> <li> 2.1 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-%d0%94%d0%be%d0%b1%d0%b8%d0%b2%d0%b0%d1%9a%d0%b5-%d1%81%d0%ba%d0%bb%d0%b0%d0%b4%d0%b8%d1%88%d1%82%d0%b5-%d0%b7%d0%b0-Git">Добивање складиште за Git</a> </li> <li> 2.2 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-%d0%a1%d0%bd%d0%b8%d0%bc%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%bc%d0%b5%d0%bd%d0%b8-%d0%b2%d0%be-%d1%81%d0%ba%d0%bb%d0%b0%d0%b4%d0%b8%d1%88%d1%82%d0%b5%d1%82%d0%be">Снимање на промени во складиштето</a> </li> <li> 2.3 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-%d0%9f%d1%80%d0%b8%d0%ba%d0%b0%d0%b6%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%b8%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%98%d0%b0%d1%82%d0%b0-%d0%bd%d0%b0-%d0%b8%d0%b7%d0%b2%d1%80%d1%88%d1%83%d0%b2%d0%b0%d1%9a%d0%b5">Прикажување на историјата на извршување</a> </li> <li> 2.4 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-%d0%9f%d0%be%d0%bd%d0%b8%d1%88%d1%82%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%bd%d0%b5%d1%88%d1%82%d0%b0%d1%82%d0%b0">Поништување на нештата</a> </li> <li> 2.5 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-Working-with-Remotes">Working with Remotes</a> </li> <li> 2.6 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-Tagging">Tagging</a> </li> <li> 2.7 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-Git-%d0%90%d0%bb%d0%b8%d1%98%d0%b0%d1%81%d0%b8">Git Алијаси</a> </li> <li> 2.8 <a href="/book/mk/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-Git-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%be%d0%b1%d1%98%d0%b0%d1%81%d0%bd%d0%b5%d1%82%d0%be">Гранење во Git</a></h2> <ol> <li> 3.1 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%be%d0%b1%d1%98%d0%b0%d1%81%d0%bd%d0%b5%d1%82%d0%be">Гранење објаснето</a> </li> <li> 3.2 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%bd%d0%be-%d1%80%d0%b0%d0%b7%d0%b3%d1%80%d0%b0%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%b8-%d1%81%d0%bf%d0%be%d1%98%d1%83%d0%b2%d0%b0%d1%9a%d0%b5">Основно разгранување и спојување</a> </li> <li> 3.3 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-Branch-Management">Branch Management</a> </li> <li> 3.4 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%a0%d0%b0%d0%b1%d0%be%d1%82%d0%bd%d0%b8-%d0%bf%d1%80%d0%be%d1%86%d0%b5%d1%81%d0%b8">Работни процеси</a> </li> <li> 3.5 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%94%d0%b0%d0%bb%d0%b5%d1%87%d0%b8%d0%bd%d1%81%d0%ba%d0%b8-%d0%b3%d1%80%d0%b0%d0%bd%d0%ba%d0%b8">Далечински гранки</a> </li> <li> 3.6 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%a0%d0%b5%d0%b1%d0%b0%d0%b7%d0%b0">Ребаза</a> </li> <li> 3.7 <a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%9f%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d1%82%d0%b5">Git на Сервер</a></h2> <ol> <li> 4.1 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%9f%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d1%82%d0%b5">Протоколите</a> </li> <li> 4.2 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%94%d0%be%d0%b1%d0%b8%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80">Добивање на Git на сервер</a> </li> <li> 4.3 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%93%d0%b5%d0%bd%d0%b5%d1%80%d0%b8%d1%80%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%b2%d0%b0%d1%88%d0%b8%d0%be%d1%82-SSH-%d1%98%d0%b0%d0%b2%d0%b5%d0%bd-%d0%ba%d0%bb%d1%83%d1%87">Генерирање на вашиот SSH јавен клуч</a> </li> <li> 4.4 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%9f%d0%be%d1%81%d1%82%d0%b0%d0%b2%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%be%d1%82">Поставување на серверот</a> </li> <li> 4.5 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%93%d0%b8%d1%82-%d0%b4%d0%b5%d0%bc%d0%be%d0%bd">Гит демон</a> </li> <li> 4.6 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-Smart-HTTP">Smart HTTP</a> </li> <li> 4.7 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%9e%d0%bf%d1%86%d0%b8%d0%b8-%d0%b7%d0%b0-%d0%b4%d0%be%d0%bc%d0%b0%d1%9c%d0%b8%d0%bd%d0%b8-%d0%bd%d0%b0-%d1%82%d1%80%d0%b5%d1%82%d0%b8-%d0%bb%d0%b8%d1%86%d0%b0">Опции за домаќини на трети лица</a> </li> <li> 4.10 <a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/mk/v2/%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd-Git-%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd%d0%b8-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%bd%d0%b8-%d0%bf%d1%80%d0%be%d1%86%d0%b5%d1%81%d0%b8">Дистрибуиран Git</a></h2> <ol> <li> 5.1 <a href="/book/mk/v2/%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd-Git-%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd%d0%b8-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%bd%d0%b8-%d0%bf%d1%80%d0%be%d1%86%d0%b5%d1%81%d0%b8">Дистрибуирани работни процеси</a> </li> <li> 5.2 <a href="/book/mk/v2/%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd-Git-%d0%9f%d1%80%d0%b8%d0%b4%d0%be%d0%bd%d0%b5%d1%81-%d0%ba%d0%be%d0%bd-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Придонес кон проект</a> </li> <li> 5.3 <a href="/book/mk/v2/%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd-Git-%d0%9f%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%b5%d0%bd-%d0%bc%d0%b0%d0%bb-%d1%82%d0%b8%d0%bc">Приватен мал тим</a> </li> <li> 5.4 <a href="/book/mk/v2/%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd-Git-%d0%9e%d0%b4%d1%80%d0%b6%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Одржување на проект</a> </li> <li> 5.5 <a href="/book/mk/v2/%d0%94%d0%b8%d1%81%d1%82%d1%80%d0%b8%d0%b1%d1%83%d0%b8%d1%80%d0%b0%d0%bd-Git-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/mk/v2/GitHub-%d0%9f%d0%be%d1%81%d1%82%d0%b0%d0%b2%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d1%81%d0%bc%d0%b5%d1%82%d0%ba%d0%b0-%d0%b8-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d1%98%d0%b0">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/mk/v2/GitHub-%d0%9f%d0%be%d1%81%d1%82%d0%b0%d0%b2%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d1%81%d0%bc%d0%b5%d1%82%d0%ba%d0%b0-%d0%b8-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d1%98%d0%b0">Поставување сметка и конфигурација</a> </li> <li> 6.2 <a href="/book/mk/v2/GitHub-%d0%9f%d1%80%d0%b8%d0%b4%d0%be%d0%bd%d0%b5%d1%81-%d0%ba%d0%be%d0%bd-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Придонес кон проект</a> </li> <li> 6.3 <a href="/book/mk/v2/GitHub-%d0%9e%d0%b4%d1%80%d0%b6%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Одржување на проект</a> </li> <li> 6.4 <a href="/book/mk/v2/GitHub-%d0%a1%d0%bf%d0%b5%d1%86%d0%b8%d1%98%d0%b0%d0%bb%d0%bd%d0%b8-%d0%b4%d0%b0%d1%82%d0%be%d1%82%d0%b5%d0%ba%d0%b8">Специјални датотеки</a> </li> <li> 6.5 <a href="/book/mk/v2/GitHub-%d0%a3%d0%bf%d1%80%d0%b0%d0%b2%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d1%81%d0%be-%d0%be%d1%80%d0%b3%d0%b0%d0%bd%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0">Управување со организација</a> </li> <li> 6.6 <a href="/book/mk/v2/GitHub-%d0%a1%d0%ba%d1%80%d0%b8%d0%bf%d1%82%d0%b8%d1%80%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-GitHub">Скриптирање на GitHub</a> </li> <li> 6.7 <a href="/book/mk/v2/GitHub-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Revision-Selection">Git Алатки</a></h2> <ol> <li> 7.1 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Revision-Selection">Revision Selection</a> </li> <li> 7.2 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%98%d0%bd%d1%82%d0%b5%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%b2%d0%bd%d0%be-%d1%81%d1%82%d0%b0%d0%b6%d0%b8%d1%80%d0%b0%d1%9a%d0%b5">Интерактивно стажирање</a> </li> <li> 7.3 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Stashing-and-Cleaning">Stashing and Cleaning</a> </li> <li> 7.4 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Signing-Your-Work">Signing Your Work</a> </li> <li> 7.5 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Searching" class="active">Searching</a> </li> <li> 7.6 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Rewriting-History">Rewriting History</a> </li> <li> 7.7 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Reset-Demystified">Reset Demystified</a> </li> <li> 7.8 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%9d%d0%b0%d0%bf%d1%80%d0%b5%d0%b4%d0%bd%d0%be-%d1%81%d0%bf%d0%be%d1%98%d1%83%d0%b2%d0%b0%d1%9a%d0%b5">Напредно спојување</a> </li> <li> 7.9 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%94%d0%b5%d0%b1%d0%b0%d0%b3%d0%b8%d1%80%d0%b0%d1%9a%d0%b5-%d1%81%d0%be-Git">Дебагирање со Git</a> </li> <li> 7.11 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Submodules">Submodules</a> </li> <li> 7.12 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%97%d0%b1%d0%b8%d0%b2%d0%b0%d1%9a%d0%b5">Збивање</a> </li> <li> 7.13 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%97%d0%b0%d0%bc%d0%b5%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5">Заменување</a> </li> <li> 7.14 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%a1%d0%ba%d0%bb%d0%b0%d0%b4%d0%b8%d1%80%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-%d0%b8%d0%bd%d0%b3%d0%b5%d1%80%d0%b5%d0%bd%d1%86%d0%b8%d0%b8">Складирање на ингеренции</a> </li> <li> 7.15 <a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/mk/v2/%d0%9f%d0%b5%d1%80%d1%81%d0%be%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git-Git-Configuration">Персонализација на Git</a></h2> <ol> <li> 8.1 <a href="/book/mk/v2/%d0%9f%d0%b5%d1%80%d1%81%d0%be%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git-Git-Configuration">Git Configuration</a> </li> <li> 8.2 <a href="/book/mk/v2/%d0%9f%d0%b5%d1%80%d1%81%d0%be%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git-Git-%d0%90%d1%82%d1%80%d0%b8%d0%b1%d1%83%d1%82%d0%b8">Git Атрибути</a> </li> <li> 8.3 <a href="/book/mk/v2/%d0%9f%d0%b5%d1%80%d1%81%d0%be%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git-Git-Hooks">Git Hooks</a> </li> <li> 8.4 <a href="/book/mk/v2/%d0%9f%d0%b5%d1%80%d1%81%d0%be%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git-An-Example-Git-Enforced-Policy">An Example Git-Enforced Policy</a> </li> <li> 8.5 <a href="/book/mk/v2/%d0%9f%d0%b5%d1%80%d1%81%d0%be%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%98%d0%b0-%d0%bd%d0%b0-Git-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/mk/v2/Git-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8-Git-%d0%ba%d0%b0%d0%ba%d0%be-%d0%9a%d0%bb%d0%b8%d0%b5%d0%bd%d1%82">Git и други системи</a></h2> <ol> <li> 9.1 <a href="/book/mk/v2/Git-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8-Git-%d0%ba%d0%b0%d0%ba%d0%be-%d0%9a%d0%bb%d0%b8%d0%b5%d0%bd%d1%82">Git како Клиент</a> </li> <li> 9.2 <a href="/book/mk/v2/Git-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8-%d0%9c%d0%b8%d0%b3%d1%80%d0%b8%d1%80%d0%b0%d1%9a%d0%b5-%d0%ba%d0%be%d0%bd-Git">Мигрирање кон Git</a> </li> <li> 9.3 <a href="/book/mk/v2/Git-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Plumbing-and-Porcelain">Внатрешноста на Git</a></h2> <ol> <li> 10.1 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Plumbing-and-Porcelain">Plumbing and Porcelain</a> </li> <li> 10.2 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Git-Objects">Git Objects</a> </li> <li> 10.3 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Git-References">Git References</a> </li> <li> 10.4 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Packfiles">Packfiles</a> </li> <li> 10.5 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-The-Refspec">The Refspec</a> </li> <li> 10.6 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Transfer-Protocols">Transfer Protocols</a> </li> <li> 10.7 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Maintenance-and-Data-Recovery">Maintenance and Data Recovery</a> </li> <li> 10.8 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Environment-Variables">Environment Variables</a> </li> <li> 10.9 <a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Graphical-Interfaces">Appendix A: Git во други околини</a></h2> <ol> <li> A1.1 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Graphical-Interfaces">Graphical Interfaces</a> </li> <li> A1.2 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Git-in-Visual-Studio">Git in Visual Studio</a> </li> <li> A1.3 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Git-in-Eclipse">Git in Eclipse</a> </li> <li> A1.4 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Git-in-Bash">Git in Bash</a> </li> <li> A1.5 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Git-in-Zsh">Git in Zsh</a> </li> <li> A1.6 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-Git-in-Powershell">Git in Powershell</a> </li> <li> A1.7 <a href="/book/mk/v2/Appendix-A:-Git-%d0%b2%d0%be-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d0%be%d0%ba%d0%be%d0%bb%d0%b8%d0%bd%d0%b8-%d0%97%d0%b0%d0%ba%d0%bb%d1%83%d1%87%d0%be%d0%ba">Заклучок</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/mk/v2/Appendix-B:-%d0%92%d0%bc%d0%b5%d1%82%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git-%d0%b2%d0%be-%d0%b2%d0%b0%d1%88%d0%b8%d1%82%d0%b5-%d0%b0%d0%bf%d0%bb%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8-Command-line-Git">Appendix B: Вметнување на Git во вашите апликации</a></h2> <ol> <li> A2.1 <a href="/book/mk/v2/Appendix-B:-%d0%92%d0%bc%d0%b5%d1%82%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git-%d0%b2%d0%be-%d0%b2%d0%b0%d1%88%d0%b8%d1%82%d0%b5-%d0%b0%d0%bf%d0%bb%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8-Command-line-Git">Command-line Git</a> </li> <li> A2.2 <a href="/book/mk/v2/Appendix-B:-%d0%92%d0%bc%d0%b5%d1%82%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git-%d0%b2%d0%be-%d0%b2%d0%b0%d1%88%d0%b8%d1%82%d0%b5-%d0%b0%d0%bf%d0%bb%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/mk/v2/Appendix-B:-%d0%92%d0%bc%d0%b5%d1%82%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git-%d0%b2%d0%be-%d0%b2%d0%b0%d1%88%d0%b8%d1%82%d0%b5-%d0%b0%d0%bf%d0%bb%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8-JGit">JGit</a> </li> <li> A2.4 <a href="/book/mk/v2/Appendix-B:-%d0%92%d0%bc%d0%b5%d1%82%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%bd%d0%b0-Git-%d0%b2%d0%be-%d0%b2%d0%b0%d1%88%d0%b8%d1%82%d0%b5-%d0%b0%d0%bf%d0%bb%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8-go-git">go-git</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Setup-and-Config">Appendix C: Git команди</a></h2> <ol> <li> A3.1 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Setup-and-Config">Setup and Config</a> </li> <li> A3.2 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Getting-and-Creating-Projects">Getting and Creating Projects</a> </li> <li> A3.3 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Basic-Snapshotting">Basic Snapshotting</a> </li> <li> A3.4 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Branching-and-Merging">Branching and Merging</a> </li> <li> A3.5 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Sharing-and-Updating-Projects">Sharing and Updating Projects</a> </li> <li> A3.6 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Inspection-and-Comparison">Inspection and Comparison</a> </li> <li> A3.7 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Debugging">Debugging</a> </li> <li> A3.8 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Patching">Patching</a> </li> <li> A3.9 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Email">Email</a> </li> <li> A3.10 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-External-Systems">External Systems</a> </li> <li> A3.11 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Administration">Administration</a> </li> <li> A3.12 <a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Plumbing-Commands">Plumbing Commands</a> </li> </ol> </li> </ol> </div> </div> </div> <span class="light" id="edition"> 2nd Edition </span> </div> <div id="main" data-pagefind-filter="category:book" data-pagefind-meta="category:Book" data-pagefind-weight="0.05" data-pagefind-body class="book edition2"> <h1>7.5 Git Алатки - Searching</h1> <div> <h2 id="_searching">Searching</h2> <div class="paragraph"> <p>With just about any size codebase, you’ll often need to find where a function is called or defined, or display the history of a method. Git provides a couple of useful tools for looking through the code and commits stored in its database quickly and easily. We’ll go through a few of them.</p> </div> <div class="sect3"> <h3 id="_git_grep">Git Grep</h3> <div class="paragraph"> <p>Git ships with a command called <code>grep</code> that allows you to easily search through any committed tree or the working directory for a string or regular expression. For the examples that follow, we’ll search through the source code for Git itself.</p> </div> <div class="paragraph"> <p>By default, <code>git grep</code> will look through the files in your working directory. As a first variation, you can use either of the <code>-n</code> or <code>--line-number</code> options to print out the line numbers where Git has found matches:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git grep -n gmtime_r compat/gmtime.c:3:#undef gmtime_r compat/gmtime.c:8: return git_gmtime_r(timep, &result); compat/gmtime.c:11:struct tm *git_gmtime_r(const time_t *timep, struct tm *result) compat/gmtime.c:16: ret = gmtime_r(timep, result); compat/mingw.c:826:struct tm *gmtime_r(const time_t *timep, struct tm *result) compat/mingw.h:206:struct tm *gmtime_r(const time_t *timep, struct tm *result); date.c:482: if (gmtime_r(&now, &now_tm)) date.c:545: if (gmtime_r(&time, tm)) { date.c:758: /* gmtime_r() in match_digit() may have clobbered it */ git-compat-util.h:1138:struct tm *git_gmtime_r(const time_t *, struct tm *); git-compat-util.h:1140:#define gmtime_r git_gmtime_r</code></pre> </div> </div> <div class="paragraph"> <p>In addition to the basic search shown above, <code>git grep</code> supports a plethora of other interesting options.</p> </div> <div class="paragraph"> <p>For instance, instead of printing all of the matches, you can ask <code>git grep</code> to summarize the output by showing you only which files contained the search string and how many matches there were in each file with the <code>-c</code> or <code>--count</code> option:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git grep --count gmtime_r compat/gmtime.c:4 compat/mingw.c:1 compat/mingw.h:1 date.c:3 git-compat-util.h:2</code></pre> </div> </div> <div class="paragraph"> <p>If you’re interested in the <em>context</em> of a search string, you can display the enclosing method or function for each matching string with either of the <code>-p</code> or <code>--show-function</code> options:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git grep -p gmtime_r *.c date.c=static int match_multi_number(timestamp_t num, char c, const char *date, date.c: if (gmtime_r(&now, &now_tm)) date.c=static int match_digit(const char *date, struct tm *tm, int *offset, int *tm_gmt) date.c: if (gmtime_r(&time, tm)) { date.c=int parse_date_basic(const char *date, timestamp_t *timestamp, int *offset) date.c: /* gmtime_r() in match_digit() may have clobbered it */</code></pre> </div> </div> <div class="paragraph"> <p>As you can see, the <code>gmtime_r</code> routine is called from both the <code>match_multi_number</code> and <code>match_digit</code> functions in the <code>date.c</code> file (the third match displayed represents just the string appearing in a comment).</p> </div> <div class="paragraph"> <p>You can also search for complex combinations of strings with the <code>--and</code> flag, which ensures that multiple matches must occur in the same line of text. For instance, let’s look for any lines that define a constant whose name contains <em>either</em> of the substrings “LINK” or “BUF_MAX”, specifically in an older version of the Git codebase represented by the tag <code>v1.8.0</code> (we’ll throw in the <code>--break</code> and <code>--heading</code> options which help split up the output into a more readable format):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git grep --break --heading \ -n -e '#define' --and \( -e LINK -e BUF_MAX \) v1.8.0 v1.8.0:builtin/index-pack.c 62:#define FLAG_LINK (1u<<20) v1.8.0:cache.h 73:#define S_IFGITLINK 0160000 74:#define S_ISGITLINK(m) (((m) & S_IFMT) == S_IFGITLINK) v1.8.0:environment.c 54:#define OBJECT_CREATION_MODE OBJECT_CREATION_USES_HARDLINKS v1.8.0:strbuf.c 326:#define STRBUF_MAXLINK (2*PATH_MAX) v1.8.0:symlinks.c 53:#define FL_SYMLINK (1 << 2) v1.8.0:zlib.c 30:/* #define ZLIB_BUF_MAX ((uInt)-1) */ 31:#define ZLIB_BUF_MAX ((uInt) 1024 * 1024 * 1024) /* 1GB */</code></pre> </div> </div> <div class="paragraph"> <p>The <code>git grep</code> command has a few advantages over normal searching commands like <code>grep</code> and <code>ack</code>. The first is that it’s really fast, the second is that you can search through any tree in Git, not just the working directory. As we saw in the above example, we looked for terms in an older version of the Git source code, not the version that was currently checked out.</p> </div> </div> <div class="sect3"> <h3 id="_git_log_searching">Git Log Searching</h3> <div class="paragraph"> <p>Perhaps you’re looking not for <em>where</em> a term exists, but <em>when</em> it existed or was introduced. The <code>git log</code> command has a number of powerful tools for finding specific commits by the content of their messages or even the content of the diff they introduce.</p> </div> <div class="paragraph"> <p>If, for example, we want to find out when the <code>ZLIB_BUF_MAX</code> constant was originally introduced, we can use the <code>-S</code> option (colloquially referred to as the Git “pickaxe” option) to tell Git to show us only those commits that changed the number of occurrences of that string.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log -S ZLIB_BUF_MAX --oneline e01503b zlib: allow feeding more than 4GB in one go ef49a7a zlib: zlib can only process 4GB at a time</code></pre> </div> </div> <div class="paragraph"> <p>If we look at the diff of those commits, we can see that in <code>ef49a7a</code> the constant was introduced and in <code>e01503b</code> it was modified.</p> </div> <div class="paragraph"> <p>If you need to be more specific, you can provide a regular expression to search for with the <code>-G</code> option.</p> </div> <div class="sect4"> <h4 id="_line_log_search">Line Log Search</h4> <div class="paragraph"> <p>Another fairly advanced log search that is insanely useful is the line history search. Simply run <code>git log</code> with the <code>-L</code> option, and it will show you the history of a function or line of code in your codebase.</p> </div> <div class="paragraph"> <p>For example, if we wanted to see every change made to the function <code>git_deflate_bound</code> in the <code>zlib.c</code> file, we could run <code>git log -L :git_deflate_bound:zlib.c</code>. This will try to figure out what the bounds of that function are and then look through the history and show us every change that was made to the function as a series of patches back to when the function was first created.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log -L :git_deflate_bound:zlib.c commit ef49a7a0126d64359c974b4b3b71d7ad42ee3bca Author: Junio C Hamano <gitster@pobox.com> Date: Fri Jun 10 11:52:15 2011 -0700 zlib: zlib can only process 4GB at a time diff --git a/zlib.c b/zlib.c --- a/zlib.c +++ b/zlib.c @@ -85,5 +130,5 @@ -unsigned long git_deflate_bound(z_streamp strm, unsigned long size) +unsigned long git_deflate_bound(git_zstream *strm, unsigned long size) { - return deflateBound(strm, size); + return deflateBound(&strm->z, size); } commit 225a6f1068f71723a910e8565db4e252b3ca21fa Author: Junio C Hamano <gitster@pobox.com> Date: Fri Jun 10 11:18:17 2011 -0700 zlib: wrap deflateBound() too diff --git a/zlib.c b/zlib.c --- a/zlib.c +++ b/zlib.c @@ -81,0 +85,5 @@ +unsigned long git_deflate_bound(z_streamp strm, unsigned long size) +{ + return deflateBound(strm, size); +} +</code></pre> </div> </div> <div class="paragraph"> <p>If Git can’t figure out how to match a function or method in your programming language, you can also provide it with a regular expression (or <em>regex</em>). For example, this would have done the same thing as the example above: <code>git log -L '/unsigned long git_deflate_bound/',/^}/:zlib.c</code>. You could also give it a range of lines or a single line number and you’ll get the same sort of output.</p> </div> </div> </div> <div id="nav"><a href="/book/mk/v2/Git-Алатки-Signing-Your-Work">prev</a> | <a href="/book/mk/v2/Git-Алатки-Rewriting-History">next</a></div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>