CINXE.COM

Git - Rerere

<!DOCTYPE html> <html lang="bg"> <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 - Rerere</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">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-Rerere">български език</a>,</td></tr> <tr><td><a href="/book/de">Deutsch</a>,</td></tr> <tr><td><a href="/book/es">Español</a>,</td></tr> <tr><td><a href="/book/fr">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja">日本語</a>,</td></tr> <tr><td><a href="/book/ko">한국어</a>,</td></tr> <tr><td><a href="/book/nl">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru">Русский</a>,</td></tr> <tr><td><a href="/book/sl">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk">Українська</a></td></tr> <tr><td><a href="/book/zh">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs">Čeština</a>,</td></tr> <tr><td><a href="/book/mk">Македонски</a>,</td></tr> <tr><td><a href="/book/pl">Polski</a>,</td></tr> <tr><td><a href="/book/sr">Српски</a>,</td></tr> <tr><td><a href="/book/uz">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id">Indonesian</a>,</td></tr> <tr><td><a href="/book/it">Italiano</a>,</td></tr> <tr><td><a href="/book/ms">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv">Svenska</a>,</td></tr> <tr><td><a href="/book/tr">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/progit/progit2-bg">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/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%97%d0%b0-Version-Control-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8%d1%82%d0%b5">Начало</a></h2> <ol> <li> 1.1 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%97%d0%b0-Version-Control-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8%d1%82%d0%b5">За Version Control системите</a> </li> <li> 1.2 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%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%8f-%d0%bd%d0%b0-Git">Кратка история на Git</a> </li> <li> 1.3 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%9a%d0%b0%d0%ba%d0%b2%d0%be-%d0%b5-Git">Какво е Git</a> </li> <li> 1.4 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%9a%d0%be%d0%bd%d0%b7%d0%be%d0%bb%d0%b0%d1%82%d0%b0-%d0%bd%d0%b0-Git">Конзолата на Git</a> </li> <li> 1.5 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%98%d0%bd%d1%81%d1%82%d0%b0%d0%bb%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git">Инсталиране на Git</a> </li> <li> 1.6 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%9f%d1%8a%d1%80%d0%b2%d0%be%d0%bd%d0%b0%d1%87%d0%b0%d0%bb%d0%bd%d0%b0-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d0%bd%d0%b0-Git">Първоначална настройка на Git</a> </li> <li> 1.7 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%9f%d0%be%d0%bc%d0%be%d1%89%d0%bd%d0%b0-%d0%b8%d0%bd%d1%84%d0%be%d1%80%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b2-Git">Помощна информация в Git</a> </li> <li> 1.8 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%87%d0%b0%d0%bb%d0%be-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%a1%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d0%bb%d0%b8%d1%89%d0%b5">Основи на Git</a></h2> <ol> <li> 2.1 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%a1%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d0%bb%d0%b8%d1%89%d0%b5">Създаване на Git хранилище</a> </li> <li> 2.2 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%97%d0%b0%d0%bf%d0%b8%d1%81-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%bc%d0%b5%d0%bd%d0%b8-%d0%b2-%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d0%bb%d0%b8%d1%89%d0%b5%d1%82%d0%be">Запис на промени в хранилището</a> </li> <li> 2.3 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%9f%d1%80%d0%b5%d0%b3%d0%bb%d0%b5%d0%b4-%d0%bd%d0%b0-%d0%b8%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%8f%d1%82%d0%b0-%d0%bd%d0%b0-%d0%b4%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b8%d1%8f%d1%82%d0%b0">Преглед на историята на действията</a> </li> <li> 2.4 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%92%d1%8a%d0%b7%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d1%8f%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2%d0%b5%d0%bd%d0%b8-%d0%b4%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b8%d1%8f">Възстановяване на направени действия</a> </li> <li> 2.5 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%a0%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d0%be%d1%82%d0%b4%d0%b0%d0%bb%d0%b5%d1%87%d0%b5%d0%bd%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d0%bb%d0%b8%d1%89%d0%b0">Работа с отдалечени хранилища</a> </li> <li> 2.6 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%a2%d0%b0%d0%b3%d0%be%d0%b2%d0%b5-%d0%b2-Git">Тагове в Git</a> </li> <li> 2.7 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%9f%d1%81%d0%b5%d0%b2%d0%b4%d0%be%d0%bd%d0%b8%d0%bc%d0%b8-%d0%b2-Git">Псевдоними в Git</a> </li> <li> 2.8 <a href="/book/bg/v2/%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-Git-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%9d%d0%b0%d0%ba%d1%80%d0%b0%d1%82%d0%ba%d0%be-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b7%d0%ba%d0%bb%d0%be%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f%d1%82%d0%b0">Клонове в Git</a></h2> <ol> <li> 3.1 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%9d%d0%b0%d0%ba%d1%80%d0%b0%d1%82%d0%ba%d0%be-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b7%d0%ba%d0%bb%d0%be%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f%d1%82%d0%b0">Накратко за разклоненията</a> </li> <li> 3.2 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-%d0%ba%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5%d1%82%d0%b5-%d0%ba%d0%be%d0%b4-%d0%b8-%d1%81%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5%d1%82%d0%be">Основи на клоновете код и сливането</a> </li> <li> 3.3 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%a3%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5">Управление на клонове</a> </li> <li> 3.4 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%a1%d1%82%d1%80%d0%b0%d1%82%d0%b5%d0%b3%d0%b8%d0%b8-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d0%ba%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%ba%d0%be%d0%b4">Стратегии за работа с клонове код</a> </li> <li> 3.5 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%9e%d1%82%d0%b4%d0%b0%d0%bb%d0%b5%d1%87%d0%b5%d0%bd%d0%b8-%d0%ba%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5">Отдалечени клонове</a> </li> <li> 3.6 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%a3%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Управление на проект</a> </li> <li> 3.7 <a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/bg/v2/GitHub-%d0%a1%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%b8-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d0%bd%d0%b0-%d0%b0%d0%ba%d0%b0%d1%83%d0%bd%d1%82">GitHub</a></h2> <ol> <li> 4.1 <a href="/book/bg/v2/GitHub-%d0%a1%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%b8-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d0%bd%d0%b0-%d0%b0%d0%ba%d0%b0%d1%83%d0%bd%d1%82">Създаване и настройка на акаунт</a> </li> <li> 4.2 <a href="/book/bg/v2/GitHub-%d0%9a%d0%b0%d0%ba-%d0%b4%d0%b0-%d1%81%d1%8a%d1%82%d1%80%d1%83%d0%b4%d0%bd%d0%b8%d1%87%d0%b8%d0%bc-%d0%b2-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Как да сътрудничим в проект</a> </li> <li> 4.3 <a href="/book/bg/v2/GitHub-%d0%a3%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82">Управление на проект</a> </li> <li> 4.4 <a href="/book/bg/v2/GitHub-%d0%a3%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d0%be%d1%80%d0%b3%d0%b0%d0%bd%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f">Управление на организация</a> </li> <li> 4.5 <a href="/book/bg/v2/GitHub-%d0%90%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d1%81-GitHub">Автоматизиране с GitHub</a> </li> <li> 4.6 <a href="/book/bg/v2/GitHub-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>5. <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%98%d0%b7%d0%b1%d0%be%d1%80-%d0%bd%d0%b0-%d0%ba%d1%8a%d0%bc%d0%b8%d1%82%d0%b8">Git инструменти</a></h2> <ol> <li> 5.1 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%98%d0%b7%d0%b1%d0%be%d1%80-%d0%bd%d0%b0-%d0%ba%d1%8a%d0%bc%d0%b8%d1%82%d0%b8">Избор на къмити</a> </li> <li> 5.2 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%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-%d0%b8%d0%bd%d0%b4%d0%b5%d0%ba%d1%81%d0%b8%d1%80%d0%b0%d0%bd%d0%b5">Интерактивно индексиране</a> </li> <li> 5.3 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-Stashing-%d0%b8-Cleaning">Stashing и Cleaning</a> </li> <li> 5.4 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%9f%d0%be%d0%b4%d0%bf%d0%b8%d1%81%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%b2%d0%b0%d1%88%d0%b0%d1%82%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0">Подписване на вашата работа</a> </li> <li> 5.5 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%a2%d1%8a%d1%80%d1%81%d0%b5%d0%bd%d0%b5">Търсене</a> </li> <li> 5.6 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%9c%d0%b0%d0%bd%d0%b8%d0%bf%d1%83%d0%bb%d0%b0%d1%86%d0%b8%d1%8f-%d0%bd%d0%b0-%d0%b8%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%8f%d1%82%d0%b0">Манипулация на историята</a> </li> <li> 5.7 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%9c%d0%b8%d1%81%d1%82%d0%b5%d1%80%d0%b8%d1%8f%d1%82%d0%b0-%d0%bd%d0%b0-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b0%d1%82%d0%b0-Reset">Мистерията на командата Reset</a> </li> <li> 5.8 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%a1%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5-%d0%b7%d0%b0-%d0%bd%d0%b0%d0%bf%d1%80%d0%b5%d0%b4%d0%bd%d0%b0%d0%bb%d0%b8">Сливане за напреднали</a> </li> <li> 5.9 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-Rerere" class="active">Rerere</a> </li> <li> 5.10 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%94%d0%b5%d0%b1%d1%8a%d0%b3%d0%b2%d0%b0%d0%bd%d0%b5-%d1%81-Git">Дебъгване с Git</a> </li> <li> 5.11 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%9f%d0%be%d0%b4%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d0%b8">Подмодули</a> </li> <li> 5.12 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%9f%d0%b0%d0%ba%d0%b5%d1%82%d0%b8-%d0%b2-Git-Bundling">Пакети в Git (Bundling)</a> </li> <li> 5.13 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%97%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5">Заместване</a> </li> <li> 5.14 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-Credential-Storage-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0">Credential Storage система</a> </li> <li> 5.15 <a href="/book/bg/v2/Git-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>6. <a href="/book/bg/v2/%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-Git-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d0%b8">Настройване на Git</a></h2> <ol> <li> 6.1 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-Git-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d0%b8">Git конфигурации</a> </li> <li> 6.2 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-Git-%d0%b0%d1%82%d1%80%d0%b8%d0%b1%d1%83%d1%82%d0%b8">Git атрибути</a> </li> <li> 6.3 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-Git-Hooks">Git Hooks</a> </li> <li> 6.4 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%9f%d1%80%d0%b8%d0%bc%d0%b5%d1%80%d0%bd%d0%b0-Git-Enforced-%d0%bf%d0%be%d0%bb%d0%b8%d1%82%d0%b8%d0%ba%d0%b0">Примерна Git-Enforced политика</a> </li> <li> 6.5 <a href="/book/bg/v2/%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/bg/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%d1%82%d0%be-%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82">Git и други системи</a></h2> <ol> <li> 7.1 <a href="/book/bg/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%d1%82%d0%be-%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82">Git като клиент</a> </li> <li> 7.2 <a href="/book/bg/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%b0%d1%86%d0%b8%d1%8f-%d0%ba%d1%8a%d0%bc-Git">Миграция към Git</a> </li> <li> 7.3 <a href="/book/bg/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%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Plumbing-%d0%b8-Porcelain-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8">Git на ниско ниво</a></h2> <ol> <li> 8.1 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Plumbing-%d0%b8-Porcelain-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8">Plumbing и Porcelain команди</a> </li> <li> 8.2 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Git-%d0%be%d0%b1%d0%b5%d0%ba%d1%82%d0%b8">Git обекти</a> </li> <li> 8.3 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Git-%d1%80%d0%b5%d1%84%d0%b5%d1%80%d0%b5%d0%bd%d1%86%d0%b8%d0%b8">Git референции</a> </li> <li> 8.4 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Packfiles">Packfiles</a> </li> <li> 8.5 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Refspec-%d1%81%d0%bf%d0%b5%d1%86%d0%b8%d1%84%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d0%b8">Refspec спецификации</a> </li> <li> 8.6 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-%d0%a2%d1%80%d0%b0%d0%bd%d1%81%d0%bf%d0%be%d1%80%d1%82%d0%bd%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d0%b8">Транспортни протоколи</a> </li> <li> 8.7 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-%d0%9f%d0%be%d0%b4%d0%b4%d1%80%d1%8a%d0%b6%d0%ba%d0%b0-%d0%b8-%d0%b2%d1%8a%d0%b7%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d1%8f%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%b4%d0%b0%d0%bd%d0%bd%d0%b8">Поддръжка и възстановяване на данни</a> </li> <li> 8.8 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-Environment-%d0%bf%d1%80%d0%be%d0%bc%d0%b5%d0%bd%d0%bb%d0%b8%d0%b2%d0%b8">Environment променливи</a> </li> <li> 8.9 <a href="/book/bg/v2/Git-%d0%bd%d0%b0-%d0%bd%d0%b8%d1%81%d0%ba%d0%be-%d0%bd%d0%b8%d0%b2%d0%be-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-%d0%93%d1%80%d0%b0%d1%84%d0%b8%d1%87%d0%bd%d0%b8-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d1%84%d0%b5%d0%b9%d1%81%d0%b8">Приложение A: Git в други среди</a></h2> <ol> <li> 9.1 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-%d0%93%d1%80%d0%b0%d1%84%d0%b8%d1%87%d0%bd%d0%b8-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d1%84%d0%b5%d0%b9%d1%81%d0%b8">Графични интерфейси</a> </li> <li> 9.2 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-%d0%b2%d1%8a%d0%b2-Visual-Studio">Git във Visual Studio</a> </li> <li> 9.3 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-%d0%b2%d1%8a%d0%b2-Visual-Studio-Code">Git във Visual Studio Code</a> </li> <li> 9.4 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-in-IntelliJ-/-PyCharm-/-WebStorm-/-PhpStorm-/-RubyMine">Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine</a> </li> <li> 9.5 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-%d0%b2-Sublime-Text">Git в Sublime Text</a> </li> <li> 9.6 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-%d0%b2-Bash">Git в Bash</a> </li> <li> 9.7 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-%d0%b2-Zsh">Git в Zsh</a> </li> <li> 9.8 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-Git-%d0%b2-PowerShell">Git в PowerShell</a> </li> <li> 9.9 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-A:-Git-%d0%b2-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d1%80%d0%b5%d0%b4%d0%b8-%d0%9e%d0%b1%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5">Обобщение</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>10. <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-B:-%d0%92%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-Git-%d0%be%d1%82-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b5%d0%bd-%d1%80%d0%b5%d0%b4">Приложение B: Вграждане на Git в приложения</a></h2> <ol> <li> 10.1 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-B:-%d0%92%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-Git-%d0%be%d1%82-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b5%d0%bd-%d1%80%d0%b5%d0%b4">Git от команден ред</a> </li> <li> 10.2 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-B:-%d0%92%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-Libgit2">Libgit2</a> </li> <li> 10.3 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-B:-%d0%92%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-JGit">JGit</a> </li> <li> 10.4 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-B:-%d0%92%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-go-git">go-git</a> </li> <li> 10.5 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-B:-%d0%92%d0%b3%d1%80%d0%b0%d0%b6%d0%b4%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-Git-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-Dulwich">Dulwich</a> </li> </ol> </li> <li class='chapter'> <h2>A1. <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b8-%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%8f">Приложение C: Git команди</a></h2> <ol> <li> A1.1 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%9d%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b8-%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%8f">Настройки и конфигурация</a> </li> <li> A1.2 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%98%d0%b7%d0%b4%d1%8a%d1%80%d0%bf%d0%b2%d0%b0%d0%bd%d0%b5-%d0%b8-%d1%81%d1%8a%d0%b7%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8">Издърпване и създаване на проекти</a> </li> <li> A1.3 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Snapshotting">Snapshotting</a> </li> <li> A1.4 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b8-%d1%81%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5">Клонове и сливане</a> </li> <li> A1.5 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%a1%d0%bf%d0%be%d0%b4%d0%b5%d0%bb%d1%8f%d0%bd%d0%b5-%d0%b8-%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d1%8f%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8">Споделяне и обновяване на проекти</a> </li> <li> A1.6 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%98%d0%bd%d1%81%d0%bf%d0%b5%d0%ba%d1%86%d0%b8%d1%8f-%d0%b8-%d1%81%d1%80%d0%b0%d0%b2%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5">Инспекция и сравнение</a> </li> <li> A1.7 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%94%d0%b5%d0%b1%d1%8a%d0%b3%d0%b2%d0%b0%d0%bd%d0%b5">Дебъгване</a> </li> <li> A1.8 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Patching">Patching</a> </li> <li> A1.9 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Email-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8">Email команди</a> </li> <li> A1.10 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%92%d1%8a%d0%bd%d1%88%d0%bd%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8">Външни системи</a> </li> <li> A1.11 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-%d0%90%d0%b4%d0%bc%d0%b8%d0%bd%d0%b8%d1%81%d1%82%d1%80%d0%b0%d1%82%d0%b8%d0%b2%d0%bd%d0%b8-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8">Административни команди</a> </li> <li> A1.12 <a href="/book/bg/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Plumbing-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8">Plumbing команди</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>5.9 Git инструменти - Rerere</h1> <div> <h2 id="ref_rerere">Rerere</h2> <div class="paragraph"> <p>Функционалността на <code>git rerere</code> е един вид скрита опция. Името идва от фразата “reuse recorded resolution” и както името подсказва, позволява ви се да укажете на Git да запомня как сте разрешили даден конфликт така че следващия път, когато той възникне отново — да бъде автоматично разрешен.</p> </div> <div class="paragraph"> <p>Има няколко сценария, когато това може да ви е от помощ. Един от примерите е упоменат в документацията и описва ситуация, в която искате да сте сигурни, че продължително съществуващ topic клон ще се слива чисто винаги, но не желаете да имате множество междинни сливащи къмити задръстващи историята ви. С разрешен <code>rerere</code>, можете да опитате случайно сливане, да разрешите конфликтите и след това да откажете сливането. Ако правите това продължително, тогава финалното сливане би трябвало да е лесно, защото <code>rerere</code> ще свърши корекциите вместо вас.</p> </div> <div class="paragraph"> <p>Същата тактика може да се използва, ако искате да пазите даден клон пребазиран и не желаете да се занимавате с едни и същи конфликти при пребазиране всеки път. Или, ако искате да вземете клон, който сте слели и в който сте разрешили много конфликти и след това пожелаете да го пребазирате — най-вероятно не искате да виждате всичките конфликти отново.</p> </div> <div class="paragraph"> <p>Друго приложение на <code>rerere</code> е когато случайно сливате множество развиващи се клонове в едно за тестване както Git проекта прави например. Ако тестовете не минават успешно, можете да превъртите назад сливанията и да ги повторите без участието на topic клона, който ги проваля без да трябва да решавате конфликтите отново.</p> </div> <div class="paragraph"> <p>За да активирате <code>rerere</code> функционалността, просто изпълнете:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git config --global rerere.enabled true</code></pre> </div> </div> <div class="paragraph"> <p>Можете да я разрешите и за конкретно хранилище създавайки директорията <code>.git/rr-cache</code>, но конфигурационната опция е по-чист начин и позволява глобална настройка.</p> </div> <div class="paragraph"> <p>Нека видим просто пример подобен на предишните. Имаме файл <code>hello.rb</code> със съдържание:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-ruby" data-lang="ruby">#! /usr/bin/env ruby def hello puts 'hello world' end</code></pre> </div> </div> <div class="paragraph"> <p>В един от клоновете ни сменяме думата “hello” на “hola”, след това в друг клон променяме “world” на “mundo”, точно както преди.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/bg/v2/images/rerere1.png" alt="rerere1"> </div> </div> <div class="paragraph"> <p>Когато сливаме двата клона в едно, получаваме конфликт по съдържание:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git merge i18n-world Auto-merging hello.rb CONFLICT (content): Merge conflict in hello.rb Recorded preimage for 'hello.rb' Automatic merge failed; fix conflicts and then commit the result.</code></pre> </div> </div> <div class="paragraph"> <p>Забелязваме новия ред от изхода, <code>Recorded preimage for FILE</code>. Освен него, всичко си изглежда като при нормален конфликт. На този етап <code>rerere</code> може да ни каже няколко неща. Нормално, можете да пуснете <code>git status</code> за да видите какъв е конфликта:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git status # On branch master # Unmerged paths: # (use "git reset HEAD &lt;file&gt;..." to unstage) # (use "git add &lt;file&gt;..." to mark resolution) # # both modified: hello.rb #</code></pre> </div> </div> <div class="paragraph"> <p>Обаче, командата <code>git rerere</code> в допълнение ще ви уведоми, че е запомнила статуса преди сливането:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere status hello.rb</code></pre> </div> </div> <div class="paragraph"> <p>А <code>git rerere diff</code> ще ви покаже текущия статус на корекцията на конфликта — с какво сте започнали корекцията и как сте я завършили.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere diff --- a/hello.rb +++ b/hello.rb @@ -1,11 +1,11 @@ #! /usr/bin/env ruby def hello -&lt;&lt;&lt;&lt;&lt;&lt;&lt; - puts 'hello mundo' -======= +&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD puts 'hola world' -&gt;&gt;&gt;&gt;&gt;&gt;&gt; +======= + puts 'hello mundo' +&gt;&gt;&gt;&gt;&gt;&gt;&gt; i18n-world end</code></pre> </div> </div> <div class="paragraph"> <p>Също така (и това няма връзка с <code>rerere</code>), можете да използвате <code>git ls-files -u</code> за да видите конфликтните файлове и техните версии — оригинална, лява и дясна:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git ls-files -u 100644 39804c942a9c1f2c03dc7c5ebcd7f3e3a6b97519 1 hello.rb 100644 a440db6e8d1fd76ad438a49025a9ad9ce746f581 2 hello.rb 100644 54336ba847c3758ab604876419607e9443848474 3 hello.rb</code></pre> </div> </div> <div class="paragraph"> <p>Сега можете да разрешите конфликта, така че редът да е <code>puts 'hola mundo'</code> и да пуснете <code>git rerere diff</code> отново, за да видите какво ще бъде запомнено от rerere:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere diff --- a/hello.rb +++ b/hello.rb @@ -1,11 +1,7 @@ #! /usr/bin/env ruby def hello -&lt;&lt;&lt;&lt;&lt;&lt;&lt; - puts 'hello mundo' -======= - puts 'hola world' -&gt;&gt;&gt;&gt;&gt;&gt;&gt; + puts 'hola mundo' end</code></pre> </div> </div> <div class="paragraph"> <p>Казано с други думи това означава, че когато Git намери конфликт във файла <code>hello.rb</code>, при който има “hello mundo” от едната страна и “hola world” на другата, той ще го коригира автоматично използвайки “hola mundo”.</p> </div> <div class="paragraph"> <p>Сега можем да маркираме конфликта като разрешен и да къмитнем:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git add hello.rb $ git commit Recorded resolution for 'hello.rb'. [master 68e16e5] Merge branch 'i18n'</code></pre> </div> </div> <div class="paragraph"> <p>Виждаме съобщението "Recorded resolution for FILE".</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/bg/v2/images/rerere2.png" alt="rerere2"> </div> </div> <div class="paragraph"> <p>Сега, нека да отменим това сливане и да го пребазираме на върха на <code>master</code> клона. Можем да преместим клона назад с <code>git reset</code> както видяхме в <a href="/book/bg/v2/ch00/_git_reset">Мистерията на командата Reset</a>.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git reset --hard HEAD^ HEAD is now at ad63f15 i18n the hello</code></pre> </div> </div> <div class="paragraph"> <p>Сега сливането ни е отменено. Следва да пребазираме topic клона.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout i18n-world Switched to branch 'i18n-world' $ git rebase master First, rewinding head to replay your work on top of it... Applying: i18n one word Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merging hello.rb CONFLICT (content): Merge conflict in hello.rb Resolved 'hello.rb' using previous resolution. Failed to merge in the changes. Patch failed at 0001 i18n one word</code></pre> </div> </div> <div class="paragraph"> <p>Сега получихме същия конфликт, който очакваме, но обърнете внимание на реда <code>Resolved FILE using previous resolution</code> в отпечатания изход. Ако погледнем файла ще видим, че той вече е коригиран и не съдържа маркери за конфликт.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-ruby" data-lang="ruby">#! /usr/bin/env ruby def hello puts 'hola mundo' end</code></pre> </div> </div> <div class="paragraph"> <p>Също, <code>git diff</code> ще ни покаже как е направена автоматичната корекция:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git diff diff --cc hello.rb index a440db6,54336ba..0000000 --- a/hello.rb +++ b/hello.rb @@@ -1,7 -1,7 +1,7 @@@ #! /usr/bin/env ruby def hello - puts 'hola world' - puts 'hello mundo' ++ puts 'hola mundo' end</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/bg/v2/images/rerere3.png" alt="rerere3"> </div> </div> <div class="paragraph"> <p>Можете също да пресъздадете конфликтния статус на файла с <code>git checkout</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout --conflict=merge hello.rb $ cat hello.rb #! /usr/bin/env ruby def hello &lt;&lt;&lt;&lt;&lt;&lt;&lt; ours puts 'hola world' ======= puts 'hello mundo' &gt;&gt;&gt;&gt;&gt;&gt;&gt; theirs end</code></pre> </div> </div> <div class="paragraph"> <p>Видяхме пример за това в <a href="/book/bg/v2/ch00/_advanced_merging">Сливане за напреднали</a>. Засега обаче, нека да го коригираме отново като просто изпълним <code>git rerere</code> повторно:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere Resolved 'hello.rb' using previous resolution. $ cat hello.rb #! /usr/bin/env ruby def hello puts 'hola mundo' end</code></pre> </div> </div> <div class="paragraph"> <p>Сега сме повторили корекцията автоматично използвайки кешираната от <code>rerere</code> информация за нея. Сега можете да добавите файла и да продължите пребазирането, за да го завършите.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git add hello.rb $ git rebase --continue Applying: i18n one word</code></pre> </div> </div> <div class="paragraph"> <p>И така, ако правите много повтарящи се сливания или пък искате да държите topic клон в синхрон с промените на <code>master</code> клона без много излишни сливания, или пък ако често пребазирате — можете да включите <code>rerere</code>, за да си улесните работата.</p> </div> <div id="nav"><a href="/book/bg/v2/Git-инструменти-Сливане-за-напреднали">prev</a> | <a href="/book/bg/v2/Git-инструменти-Дебъгване-с-Git">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>

Pages: 1 2 3 4 5 6 7 8 9 10