CINXE.COM
Git - Sadə Branching və Birləşdirmə
<!DOCTYPE html> <html lang="az"> <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 - Sadə Branching və Birləşdirmə</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-Branching-Basic-Branching-and-Merging">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Sad%c9%99-Branching-v%c9%99-Birl%c9%99%c5%9fdirm%c9%99">azərbaycan dili</a>,</td></tr> <tr><td><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>,</td></tr> <tr><td><a href="/book/de/v2/Git-Branching-Einfaches-Branching-und-Merging">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Ramificaciones-en-Git-Procedimientos-B%c3%a1sicos-para-Ramificar-y-Fusionar">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Les-branches-avec-Git-Branches-et-fusions%c2%a0:-les-bases">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%83%96%e3%83%a9%e3%83%b3%e3%83%81%e6%a9%9f%e8%83%bd-%e3%83%96%e3%83%a9%e3%83%b3%e3%83%81%e3%81%a8%e3%83%9e%e3%83%bc%e3%82%b8%e3%81%ae%e5%9f%ba%e6%9c%ac">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%b8%8c%eb%9e%9c%ec%b9%98-%eb%b8%8c%eb%9e%9c%ec%b9%98%ec%99%80-Merge-%ec%9d%98-%ea%b8%b0%ec%b4%88">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Branchen-in-Git-Eenvoudig-branchen-en-mergen">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/%d0%92%d0%b5%d1%82%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b2-Git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d1%8b-%d0%b2%d0%b5%d1%82%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b8-%d1%81%d0%bb%d0%b8%d1%8f%d0%bd%d0%b8%d1%8f">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Veje-Git-Osnove-vej-in-zdru%c5%beevanja">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Pag-branch-ng-Git-Batayan-ng-Pag-branch-at-Pag-merge">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/%d0%93%d0%b0%d0%bb%d1%83%d0%b6%d0%b5%d0%bd%d0%bd%d1%8f-%d0%b2-git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%b3%d0%b0%d0%bb%d1%83%d0%b6%d0%b5%d0%bd%d0%bd%d1%8f-%d1%82%d0%b0-%d0%b7%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%bd%d1%8f">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%88%86%e6%94%af-%e5%88%86%e6%94%af%e7%9a%84%e6%96%b0%e5%bb%ba%e4%b8%8e%e5%90%88%e5%b9%b6">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/V%c4%9btve-v-syst%c3%a9mu-Git-Z%c3%a1klady-v%c4%9btven%c3%ad-a-slu%c4%8dov%c3%a1n%c3%ad">Čeština</a>,</td></tr> <tr><td><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>,</td></tr> <tr><td><a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Podstawy-rozga%c5%82%c4%99ziania-i-scalania">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b0%d1%9a%d0%b5-%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d1%83-%d0%93%d0%b8%d1%82-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b5-%d0%b3%d1%80%d0%b0%d0%bd%d0%b0%d1%9a%d0%b0-%d0%b8-%d1%81%d0%bf%d0%b0%d1%98%d0%b0%d1%9a%d0%b0">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-%d0%b4%d0%b0-%d1%82%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d0%bd%d0%b8%d1%88-%d0%a2%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d0%bd%d0%b8%d1%88-%d0%b2%d0%b0-%d0%b1%d0%b8%d1%80%d0%bb%d0%b0%d1%88%d0%b8%d1%88-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/%e4%bd%bf%e7%94%a8-Git-%e5%88%86%e6%94%af-%e5%88%86%e6%94%af%e5%92%8c%e5%90%88%e4%bd%b5%e7%9a%84%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Branching-Basic-Branching-and-Merging">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/%d8%b4%d8%a7%d8%ae%d9%87%e2%80%8c%d8%b3%d8%a7%d8%b2%db%8c-%d8%af%d8%b1-%da%af%db%8c%d8%aa-%d8%b4%d8%a7%d8%ae%d9%87%e2%80%8c%d8%b3%d8%a7%d8%b2%db%8c-%d9%88-%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%85%d9%82%d8%af%d9%85%d8%a7%d8%aa%db%8c" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Branching-Basic-Branching-and-Merging">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Branching-Basic-Branching-and-Merging">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Branching-Basic-Branching-and-Merging">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Branches-no-Git-O-b%c3%a1sico-de-Ramifica%c3%a7%c3%a3o-Branch-e-Mesclagem-Merge">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ramifica%c3%a7%c3%a3o-do-Git-Basic-Branching-and-Merging">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-f%c3%b6rgreningar-Grundl%c3%a4ggande-f%c3%b6rgrening-och-sammanslagning">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Dallar%c4%b1-K%c4%b1saca-Dalland%c4%b1rma-ve-Birle%c5%9ftirme-Temelleri">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/progit2-aze/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/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-Versiyaya-N%c9%99zar%c9%99t-Haqq%c4%b1nda">Başlanğıc</a></h2> <ol> <li> 1.1 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-Versiyaya-N%c9%99zar%c9%99t-Haqq%c4%b1nda">Versiyaya Nəzarət Haqqında</a> </li> <li> 1.2 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-Git%e2%80%99in-Q%c4%b1sa-Hekay%c9%99si">Git’in Qısa Hekayəsi</a> </li> <li> 1.3 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-Git-N%c9%99dir%3F">Git Nədir?</a> </li> <li> 1.4 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-%c6%8fmr-S%c9%99tiri">Əmr Sətiri</a> </li> <li> 1.5 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-Git%e2%80%99i-Qura%c5%9fd%c4%b1rmaq">Git’i Quraşdırmaq</a> </li> <li> 1.6 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-%c4%b0lk-D%c9%99f%c9%99-Git-Qura%c5%9fd%c4%b1rmas%c4%b1">İlk Dəfə Git Quraşdırması</a> </li> <li> 1.7 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-K%c3%b6m%c9%99k-Almaq">Kömək Almaq</a> </li> <li> 1.8 <a href="/book/az/v2/Ba%c5%9flan%c4%9f%c4%b1c-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Git-Deposunun-%c6%8fld%c9%99-Edilm%c9%99si">Git’in Əsasları</a></h2> <ol> <li> 2.1 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Git-Deposunun-%c6%8fld%c9%99-Edilm%c9%99si">Git Deposunun Əldə Edilməsi</a> </li> <li> 2.2 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Depoda-D%c9%99yi%c5%9fiklikl%c9%99rin-Qeyd-Edilm%c9%99si">Depoda Dəyişikliklərin Qeyd Edilməsi</a> </li> <li> 2.3 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Commit-Tarix%c3%a7%c9%99sin%c9%99-Bax%c4%b1%c5%9f">Commit Tarixçəsinə Baxış</a> </li> <li> 2.4 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-L%c9%99%c4%9fv-Edil%c9%99n-%c4%b0%c5%9fl%c9%99r-Geri-qaytar%c4%b1lan">Ləğv Edilən İşlər (Geri qaytarılan)</a> </li> <li> 2.5 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Uzaqdan-%c4%b0%c5%9fl%c9%99m%c9%99k">Uzaqdan İşləmək</a> </li> <li> 2.6 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Etiketl%c9%99m%c9%99">Etiketləmə</a> </li> <li> 2.7 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Git-Alias%e2%80%99lar">Git Alias’lar</a> </li> <li> 2.8 <a href="/book/az/v2/Git%e2%80%99in-%c6%8fsaslar%c4%b1-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Nutshell%e2%80%99d%c9%99-Branch%e2%80%99lar">Git’də Branch</a></h2> <ol> <li> 3.1 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Nutshell%e2%80%99d%c9%99-Branch%e2%80%99lar">Nutshell’də Branch’lar</a> </li> <li> 3.2 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Sad%c9%99-Branching-v%c9%99-Birl%c9%99%c5%9fdirm%c9%99" class="active">Sadə Branching və Birləşdirmə</a> </li> <li> 3.3 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Branch-%c4%b0dar%c9%99edilm%c9%99si">Branch İdarəedilməsi</a> </li> <li> 3.4 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Branching-%c4%b0%c5%9f-Ax%c4%b1nlar%c4%b1">Branching İş Axınları</a> </li> <li> 3.5 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Uzaq-Branch%e2%80%99lar">Uzaq Branch’lar</a> </li> <li> 3.6 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Rebasing">Rebasing</a> </li> <li> 3.7 <a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Protokollar">Server’də Git</a></h2> <ol> <li> 4.1 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Protokollar">Protokollar</a> </li> <li> 4.2 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Serverd%c9%99-Git-%c6%8fld%c9%99-Etm%c9%99k">Serverdə Git Əldə Etmək</a> </li> <li> 4.3 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Sizin-%c3%b6z-SSH-Public-Key%e2%80%99nizi-yaratmaq">Sizin öz SSH Public Key’nizi yaratmaq</a> </li> <li> 4.4 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Server-qurmaq">Server qurmaq</a> </li> <li> 4.5 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Git-Daemon">Git Daemon</a> </li> <li> 4.6 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Smart-HTTP">Smart HTTP</a> </li> <li> 4.7 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-%c3%9c%c3%a7%c3%bcnc%c3%bc-T%c9%99r%c9%99f-Se%c3%a7iml%c9%99ri">Üçüncü Tərəf Seçimləri</a> </li> <li> 4.10 <a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/az/v2/Paylanm%c4%b1%c5%9f-Git-Distribyutorluq-%c4%b0%c5%9f-Ax%c4%b1nlar%c4%b1">Paylanmış Git</a></h2> <ol> <li> 5.1 <a href="/book/az/v2/Paylanm%c4%b1%c5%9f-Git-Distribyutorluq-%c4%b0%c5%9f-Ax%c4%b1nlar%c4%b1">Distribyutorluq İş Axınları</a> </li> <li> 5.2 <a href="/book/az/v2/Paylanm%c4%b1%c5%9f-Git-Layih%c9%99y%c9%99-T%c3%b6hf%c9%99-verm%c9%99k">Layihəyə Töhfə vermək</a> </li> <li> 5.3 <a href="/book/az/v2/Paylanm%c4%b1%c5%9f-Git-Layih%c9%99nin-Saxlan%c4%b1lmas%c4%b1">Layihənin Saxlanılması</a> </li> <li> 5.4 <a href="/book/az/v2/Paylanm%c4%b1%c5%9f-Git-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/az/v2/GitHub-Hesab-Qurma-v%c9%99-Konfiqurasiya">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/az/v2/GitHub-Hesab-Qurma-v%c9%99-Konfiqurasiya">Hesab Qurma və Konfiqurasiya</a> </li> <li> 6.2 <a href="/book/az/v2/GitHub-Bir-Layih%c9%99y%c9%99-T%c3%b6hf%c9%99-Verm%c9%99k">Bir Layihəyə Töhfə Vermək</a> </li> <li> 6.3 <a href="/book/az/v2/GitHub-Bir-Layih%c9%99nin-Saxlan%c4%b1lmas%c4%b1">Bir Layihənin Saxlanılması</a> </li> <li> 6.4 <a href="/book/az/v2/GitHub-Bir-T%c9%99%c5%9fkilat%c4%b1-Idar%c9%99-Etm%c9%99k">Bir Təşkilatı Idarə Etmək</a> </li> <li> 6.5 <a href="/book/az/v2/GitHub-GitHub-Skriptl%c9%99m%c9%99">GitHub Skriptləmə</a> </li> <li> 6.6 <a href="/book/az/v2/GitHub-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Reviziya-Se%c3%a7imi">Git Alətləri</a></h2> <ol> <li> 7.1 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Reviziya-Se%c3%a7imi">Reviziya Seçimi</a> </li> <li> 7.2 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Interaktiv-S%c9%99hn%c9%99l%c9%99%c5%9fdirm%c9%99">Interaktiv Səhnələşdirmə</a> </li> <li> 7.3 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Stashing-v%c9%99-T%c9%99mizl%c9%99m%c9%99">Stashing və Təmizləmə</a> </li> <li> 7.4 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-%c4%b0%c5%9finizin-%c4%b0mzalanmas%c4%b1">İşinizin İmzalanması</a> </li> <li> 7.5 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Axtar%c4%b1%c5%9f">Axtarış</a> </li> <li> 7.6 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Tarixi-Yenid%c9%99n-Yazmaq">Tarixi Yenidən Yazmaq</a> </li> <li> 7.7 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Reset-Demystified">Reset Demystified</a> </li> <li> 7.8 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-%c4%b0nki%c5%9faf-etmi%c5%9f-Birl%c9%99%c5%9fm%c9%99">İnkişaf etmiş Birləşmə</a> </li> <li> 7.9 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Git-il%c9%99-Debugging">Git ilə Debugging</a> </li> <li> 7.11 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Alt-Modullar">Alt Modullar</a> </li> <li> 7.12 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Bundling">Bundling</a> </li> <li> 7.13 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-D%c9%99yi%c5%9fdirm%c9%99k">Dəyişdirmək</a> </li> <li> 7.14 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Etibarl%c4%b1-Yadda%c5%9f">Etibarlı Yaddaş</a> </li> <li> 7.15 <a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/az/v2/Git%e2%80%99i-F%c9%99rdil%c9%99%c5%9fdirm%c9%99k-Git-Konfiqurasiyas%c4%b1">Git’i Fərdiləşdirmək</a></h2> <ol> <li> 8.1 <a href="/book/az/v2/Git%e2%80%99i-F%c9%99rdil%c9%99%c5%9fdirm%c9%99k-Git-Konfiqurasiyas%c4%b1">Git Konfiqurasiyası</a> </li> <li> 8.2 <a href="/book/az/v2/Git%e2%80%99i-F%c9%99rdil%c9%99%c5%9fdirm%c9%99k-Git-Atributlar%c4%b1">Git Atributları</a> </li> <li> 8.3 <a href="/book/az/v2/Git%e2%80%99i-F%c9%99rdil%c9%99%c5%9fdirm%c9%99k-Git-Hook%e2%80%99lar%c4%b1">Git Hook’ları</a> </li> <li> 8.4 <a href="/book/az/v2/Git%e2%80%99i-F%c9%99rdil%c9%99%c5%9fdirm%c9%99k-Git-Enforced-Siyas%c9%99t-N%c3%bcmun%c9%99si">Git-Enforced Siyasət Nümunəsi</a> </li> <li> 8.5 <a href="/book/az/v2/Git%e2%80%99i-F%c9%99rdil%c9%99%c5%9fdirm%c9%99k-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/az/v2/Git-v%c9%99-Dig%c9%99r-Sisteml%c9%99r-Git-M%c3%bc%c5%9ft%c9%99ri-kimi">Git və Digər Sistemlər</a></h2> <ol> <li> 9.1 <a href="/book/az/v2/Git-v%c9%99-Dig%c9%99r-Sisteml%c9%99r-Git-M%c3%bc%c5%9ft%c9%99ri-kimi">Git Müştəri kimi</a> </li> <li> 9.2 <a href="/book/az/v2/Git-v%c9%99-Dig%c9%99r-Sisteml%c9%99r-Git%e2%80%99%c9%99-Miqrasiya">Git’ə Miqrasiya</a> </li> <li> 9.3 <a href="/book/az/v2/Git-v%c9%99-Dig%c9%99r-Sisteml%c9%99r-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Plumbing-v%c9%99-Porcelain">Git’in Daxili İşləri</a></h2> <ol> <li> 10.1 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Plumbing-v%c9%99-Porcelain">Plumbing və Porcelain</a> </li> <li> 10.2 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Git-Obyektl%c9%99ri">Git Obyektləri</a> </li> <li> 10.3 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Git-Referanslar%c4%b1">Git Referansları</a> </li> <li> 10.4 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Packfile%e2%80%99lar">Packfile’lar</a> </li> <li> 10.5 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Refspec">Refspec</a> </li> <li> 10.6 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Transfer-Protokollar%c4%b1">Transfer Protokolları</a> </li> <li> 10.7 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Maintenance-v%c9%99-M%c9%99lumatlar%c4%b1n-B%c9%99rpas%c4%b1">Maintenance və Məlumatların Bərpası</a> </li> <li> 10.8 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-M%c3%bchit-D%c9%99yi%c5%9f%c9%99nl%c9%99ri">Mühit Dəyişənləri</a> </li> <li> 10.9 <a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Qrafik-interfeysl%c9%99r">Appendix A: Digər Mühitlərdə Git</a></h2> <ol> <li> A1.1 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Qrafik-interfeysl%c9%99r">Qrafik interfeyslər</a> </li> <li> A1.2 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Visual-Studio%e2%80%99da-Git">Visual Studio’da Git</a> </li> <li> A1.3 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Visual-Studio-Code%e2%80%99da-Git">Visual Studio Code’da Git</a> </li> <li> A1.4 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Eclipse%e2%80%99d%c9%99-Git">Eclipse’də Git</a> </li> <li> A1.5 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Sublime-Text%e2%80%99d%c9%99-Git">Sublime Text’də Git</a> </li> <li> A1.6 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Bash%e2%80%99da-Git">Bash’da Git</a> </li> <li> A1.7 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Zsh%e2%80%99d%c9%99-Git">Zsh’də Git</a> </li> <li> A1.8 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-PowerShell%e2%80%99d%c9%99-Git">PowerShell’də Git</a> </li> <li> A1.9 <a href="/book/az/v2/Appendix-A:-Dig%c9%99r-M%c3%bchitl%c9%99rd%c9%99-Git-Q%c4%b1sa-M%c9%99zmun">Qısa Məzmun</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/az/v2/Appendix-B:-Proqramlara-Git-Daxil-Etm%c9%99k-%c6%8fmr-s%c9%99tri-Git">Appendix B: Proqramlara Git Daxil Etmək</a></h2> <ol> <li> A2.1 <a href="/book/az/v2/Appendix-B:-Proqramlara-Git-Daxil-Etm%c9%99k-%c6%8fmr-s%c9%99tri-Git">Əmr-sətri Git</a> </li> <li> A2.2 <a href="/book/az/v2/Appendix-B:-Proqramlara-Git-Daxil-Etm%c9%99k-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/az/v2/Appendix-B:-Proqramlara-Git-Daxil-Etm%c9%99k-JGit">JGit</a> </li> <li> A2.4 <a href="/book/az/v2/Appendix-B:-Proqramlara-Git-Daxil-Etm%c9%99k-go-git">go-git</a> </li> <li> A2.5 <a href="/book/az/v2/Appendix-B:-Proqramlara-Git-Daxil-Etm%c9%99k-Dulwich">Dulwich</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Qura%c5%9fd%c4%b1rma-v%c9%99-Konfiqurasiya">Appendix C: Git Əmrləri</a></h2> <ol> <li> A3.1 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Qura%c5%9fd%c4%b1rma-v%c9%99-Konfiqurasiya">Quraşdırma və Konfiqurasiya</a> </li> <li> A3.2 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Layih%c9%99l%c9%99rin-Al%c4%b1nmas%c4%b1-v%c9%99-Yarad%c4%b1lmas%c4%b1">Layihələrin Alınması və Yaradılması</a> </li> <li> A3.3 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Sad%c9%99-Snapshotting">Sadə Snapshotting</a> </li> <li> A3.4 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Branching-v%c9%99-Birl%c9%99%c5%9fm%c9%99">Branching və Birləşmə</a> </li> <li> A3.5 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Layih%c9%99l%c9%99rin-Payla%c5%9f%c4%b1lmas%c4%b1-v%c9%99-Yenil%c9%99nm%c9%99si">Layihələrin Paylaşılması və Yenilənməsi</a> </li> <li> A3.6 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Yoxlama-v%c9%99-M%c3%bcqayis%c9%99">Yoxlama və Müqayisə</a> </li> <li> A3.7 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Debugging">Debugging</a> </li> <li> A3.8 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Patching">Patching</a> </li> <li> A3.9 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-E-po%c3%a7t">E-poçt</a> </li> <li> A3.10 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Xarici-Sisteml%c9%99r">Xarici Sistemlər</a> </li> <li> A3.11 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-%c4%b0dar%c9%99etm%c9%99">İdarəetmə</a> </li> <li> A3.12 <a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Plumbing-%c6%8fmrl%c9%99ri">Plumbing Əmrləri</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>3.2 Git’də Branch - Sadə Branching və Birləşdirmə</h1> <div> <h2 id="_sadə_branching_və_birləşdirmə">Sadə Branching və Birləşdirmə</h2> <div class="paragraph"> <p>Real dünyada istifadə edə biləcəyiniz bir iş axını ilə branching və birləşmənin sadə bir nümunəsinə keçək. Bu addımları izləyəcəksiniz:</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Bir veb saytda bir az iş gör.</p> </li> <li> <p>Çalışdığınız yeni bir istifadəçi hekayəsi üçün bir branch yarat.</p> </li> <li> <p>O branch-da bəzi işlər gör.</p> </li> </ol> </div> <div class="paragraph"> <p>Bu mərhələdə başqa bir məsələnin kritik olduğuna dair bir bildiriş alacaqsınız və düzəliş lazım olacaqdır. Siz aşağıdakıları edəcəksiniz:</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Production branch-ı seçin.</p> </li> <li> <p>Düzəliş əlavə etmək üçün bir branch yaradın.</p> </li> <li> <p>Test edildikdən sonra, düzəldici branch-ı birləşdirin və production-a push edin.</p> </li> <li> <p>Orijinal istifadəçi hekayənizə qayıdın və işə davam edin.</p> </li> </ol> </div> <div class="sect3"> <h3 id="_basic_branching">Sadə Branching</h3> <div class="paragraph"> <p> Əvvəlcə deyək ki, layihəniz üzərində işləyirsiniz və artıq <code>master</code> branch-ında bir neçə iş görmüsünüz.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-branching-1.png" alt="Sadə commit tarixi"> </div> <div class="title">Figure 18. Sadə commit tarixi</div> </div> <div class="paragraph"> <p>Şirkətinizin istifadə etdiyi hər hansı bir izləmə sistemində 53-cü sayda çalışacağınıza qərar verdiniz. Yeni bir branch yaratmaq və eyni zamanda ona keçmək üçün <code>-b</code> keçidi ilə <code>git checkout</code> əmrini işlətmək olar:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout -b iss53 Switched to a new branch "iss53"</code></pre> </div> </div> <div class="paragraph"> <p>Bu ssenaridir:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch iss53 $ git checkout iss53</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-branching-2.png" alt="Yeni bir branch göstəricisi yaratmaq"> </div> <div class="title">Figure 19. Yeni bir branch göstəricisi yaratmaq</div> </div> <div class="paragraph"> <p>Veb saytınızda işləyirsiniz və bəzi commit-lər verirsiniz. Bunu etmək, <code>iss53</code> branch-ını irəli aparır, çünki siz onu yoxlamısınız (yəni <code>HEAD</code> ona işarə edir):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ vim index.html $ git commit -a -m 'Create new footer [issue 53]'</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-branching-3.png" alt="`iss53` branch-ı işinizlə irəlilədi"> </div> <div class="title">Figure 20. <code>iss53</code> branch-ı işinizlə irəlilədi</div> </div> <div class="paragraph"> <p>İndi veb saytında bir problem olduğuna dair zəng alırsınız və dərhal onu düzəltməlisiniz. Git ilə düzəlişlərinizi <code>iss53</code> dəyişiklikləri ilə birlikdə düzəltməyə ehtiyac yoxdur və düzəlişlərinizi production-da olanlara tətbiq etməzdən əvvəl bu dəyişiklikləri geri qaytarmaq üçün əziyyət çəkməyinizə ehtiyac yoxdur. Sadəcə <code>master</code> branch-ına qayıtmaq lazımdır.</p> </div> <div class="paragraph"> <p>Ancaq bunu etməzdən əvvəl qeyd edin ki, əgər işlədiyiniz qovluq və ya quruluş sahəniz yoxlanılan branch-la konfilikt təşkil etmirsə, Git branch-ları dəyişməyə imkan vermir. Branch-ları dəyişdirərkən təmiz bir iş vəziyyətinə sahib olmağınız yaxşıdır. Daha sonra <a href="/book/az/v2/ch00/_git_stashing">Stashing və Təmizləmə</a>-də bəhs edəcəyimiz (yəni stashing və commit etmək) yolları var. Hələlik, bütün dəyişikliklərinizi etdiyinizi düşünün və yenidən <code>master</code> branch-ınıza qayıda bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master Switched to branch 'master'</code></pre> </div> </div> <div class="paragraph"> <p>Bu anda layihə işlədiyiniz qovluq #53 nömrəli problem üzərində işləməyə başlamamışdan əvvəlki yoldur və fikrinizi düzəlişə cəmləşdirə bilərsiniz. Bu yadda saxlamağınız vacib olan bir məqamdır: branch-ları dəyişdirdiyiniz zaman Git, işçi qovluğunuzu bu branch-da sonuncu dəfə etdiyiniz kimi görmək üçün sıfırlayır. Bu işləmə kopyasının branch-ının son commit-ə bənzədiyinə əmin olmaq üçün faylları əlavə edir, çıxarır və avtomatik olaraq dəyişdirir.</p> </div> <div class="paragraph"> <p>Sonra düzəltmək üçün düzəltmə nöqtəniz var. Gəlin tamamlanana qədər işləyəcək bir <code>hotfix</code> branch-ı yaradaq:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout -b hotfix Switched to a new branch 'hotfix' $ vim index.html $ git commit -a -m 'Fix broken email address' [hotfix 1fb7853] Fix broken email address 1 file changed, 2 insertions(+)</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-branching-4.png" alt="`master` əsasında Hotfix branch-ı"> </div> <div class="title">Figure 21. <code>master</code> əsasında Hotfix branch-ı</div> </div> <div class="paragraph"> <p>Testlərinizi işə sala bilərsiniz,hansı düzəlişi istədiyinizdən əmin olun və nəhayət <code>hotfix</code> branch-ını istehsal etmək üçün yenidən <code>master</code> branch-ınıza birləşdirin.</p> </div> <div class="paragraph"> <p>Siz bunu <code>git merge</code> əmri ilə edin:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master $ git merge hotfix Updating f42c576..3a0874c Fast-forward index.html | 2 ++ 1 file changed, 2 insertions(+)</code></pre> </div> </div> <div class="paragraph"> <p>Bu birləşmədə “fast-forward” ifadəsini görəcəksiniz. Birləşdirdiyiniz <code>hotfix</code> branch-ı ilə göstərilən <code>C4`commit-i, üzərində olduğunuz `C2</code> commit-inin qabağında olduğundan Git sadəcə göstəricini irəli aparır. Başqa bir şəkildə ifadə etmək üçün ilk commit-in tarixini izləməklə əldə edilə bilən bir commit-lə birləşməyə çalışdığınız zaman, Git göstərici irəli apararaq işləri sadələşdirir, çünki birlikdə birləşmək üçün ayrı-ayrılıqda işlər görülmür - buna deyilir “fast-forward.”</p> </div> <div class="paragraph"> <p>Dəyişiklik artıq <code>master</code> branch-nın işarə etdiyi commit-in snapshotudur və düzəlişi yerləşdirə bilərsiniz.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-branching-5.png" alt="`master` sürətli şəkildə `hotfix`-ə yönləndirilir"> </div> <div class="title">Figure 22. <code>master</code> sürətli şəkildə <code>hotfix</code>-ə yönləndirilir</div> </div> <div class="paragraph"> <p>Super əhəmiyyətli düzəlişiniz yerləşdirildikdən sonra müdaxilə etməmişdən əvvəl etdiyiniz işə geri dönməyə hazırsınız.</p> </div> <div class="paragraph"> <p>Ancaq əvvəlcə <code>hotfix</code> branch-nı silirsiniz, çünki artıq ehtiyacınız yoxdur - <code>master</code> branch-ı eyni yeri göstərir.</p> </div> <div class="paragraph"> <p>Onu <code>-d</code> seçimini <code>git branch</code> əmrinə əlavə edərək silə bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -d hotfix Deleted branch hotfix (3a0874c).</code></pre> </div> </div> <div class="paragraph"> <p>İndi #53 nömrəli məsələ ilə əlaqədar işinizdə olan şöbəyə qayıda bilərsiniz və üzərində işləməyə davam edə bilərsiniz.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout iss53 Switched to branch "iss53" $ vim index.html $ git commit -a -m 'Finish the new footer [issue 53]' [iss53 ad82d7a] Finish the new footer [issue 53] 1 file changed, 1 insertion(+)</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-branching-6.png" alt="`iss53` üzərində işləməyə dəvam etmək"> </div> <div class="title">Figure 23. <code>iss53</code> üzərində işləməyə dəvam etmək</div> </div> <div class="paragraph"> <p>Burada qeyd etmək lazımdır ki, <code>hotfix</code> branch-da gördüyünüz işlər <code>iss53</code> branch-dakı sənədlərdə yoxdur. Əgər onu pull etmək lazımdırsa, <code>git merge master</code>-i işə salmaqla <code>master</code> branch-nızı <code>iss53</code> branch-a birləşdirə bilərsiniz və ya <code>iss53</code> branch-nı daha sonra <code>master</code> halına gətirməyə qərar verənə qədər bu dəyişikliklərin inteqrasiyasını gözləyə bilərsiniz.</p> </div> </div> <div class="sect3"> <h3 id="_basic_merging">Sadə Birləşdirmə</h3> <div class="paragraph"> <p> Təqdim etdiyiniz #53 nömrəli işiniz tamamlandı və <code>master</code> branch-nıza birləşdirilməyə artıq hazırdır. Bunu etmək üçün, <code>iss53</code> branch-nızı əvvəllər <code>hotfix</code> branch-nı birləşdirdiyiniz kimi <code>master</code>-ə birləşdirəcəksiniz. Yalnız etməli olduğunuz branch-ı yoxlamaq və sonra <code>git merge</code> əmrini icra etməkdir:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master Switched to branch 'master' $ git merge iss53 Merge made by the 'recursive' strategy. index.html | 1 + 1 file changed, 1 insertion(+)</code></pre> </div> </div> <div class="paragraph"> <p>Bu əvvəl düzəltdiyiniz <code>hotfix</code> birləşməsindən bir az fərqli görünür. Bu vəziyyətdə inkişaf tarixiniz bəzi köhnə nöqtələrdən ayrılacaqdır. Gördüyünüz branch-dakı commit birləşdiyiniz branch-ın birbaşa ancestor-u olmadığından Git bəzi işlər görməlidir. Bu vəziyyətdə Git branch ucları və ikisinin ortaq ancestor-u ilə göstərilən iki snapshot-u istifadə edərək sadə üç tərəfli birləşmə edir.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-merging-1.png" alt="Tipik birləşmədə istifadə olunan üç snapshot"> </div> <div class="title">Figure 24. Tipik birləşmədə istifadə olunan üç snapshot</div> </div> <div class="paragraph"> <p>Branch göstərişini irəli sürmək əvəzinə, Git bu üç tərəfli birləşmənin nəticəsi olan yeni bir görüntü yaradır və avtomatik olaraq ona işarə edən yeni bir commit yaradır. Bu birləşmə commit-i adlandırılır və birdən çox ancestor-un olması ilə xüsusi olur.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/az/v2/images/basic-merging-2.png" alt="Birləşmə commit-i"> </div> <div class="title">Figure 25. Birləşmə commit-i</div> </div> <div class="paragraph"> <p>İndi işiniz birləşdirildikdən sonra <em>iss53</em> branch-ına ehtiyacınız yoxdur. Məsələni izləmə sisteminizdə bağlaya və branch-ı silə bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -d iss53</code></pre> </div> </div> </div> <div class="sect3"> <h3 id="_basic_merge_conflicts">Əsas Birləşmə Konfiliktləri</h3> <div class="paragraph"> <p> Bəzən bu proses əngəlsiz getmir. Birləşdirdiyiniz iki branch-da eyni faylın eyni hissəsini fərqli şəkildə dəyişsəniz, Git onları təmiz birləşdirə bilməyəcək. Əgər #53 nömrəli məsələ ilə bağlı düzəlişiniz <code>hotfix</code> branch-ı kimi bir faylın eyni hissəsini dəyişdirsə, bu kimi bir şeyə bənzər birləşmə konflikti alacaqsınız:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git merge iss53 Auto-merging index.html CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result.</code></pre> </div> </div> <div class="paragraph"> <p>Git avtomatik olaraq yeni birləşmə commit-i yaratmadı. Və konflikti həll edərkən prosesi dayandırdı. Birləşmə konfliktindən sonra hər hansı bir nöqtədə hansı sənədlərin açılmadığını görmək istəyirsinizsə, <code>git status</code>-u istifadə edə bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git status On branch master You have unmerged paths. (fix conflicts and run "git commit") Unmerged paths: (use "git add <file>..." to mark resolution) both modified: index.html no changes added to commit (use "git add" and/or "git commit -a")</code></pre> </div> </div> <div class="paragraph"> <p>Konfiliktləri birləşdirən və həll edilməmiş hər hansı bir şey əlaqələndirilməmiş kimi verilmişdir. Git, konfliktləri olan fayllara standart konflikt həll etmə işarələrini əlavə edir, onları manual aça və bu konfiliktləri həll edə bilərsiniz. Faylınızda bənzər bir hissə var:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-html" data-lang="html"><<<<<<< HEAD:index.html <div id="footer">contact : email.support@github.com</div> ======= <div id="footer"> please contact us at support@github.com </div> >>>>>>> iss53:index.html</code></pre> </div> </div> <div class="paragraph"> <p>Bu <code>HEAD`dakı versiya (sizin `master</code> branch-nız, çünki birləşmə əmrinizi icra edərkən yoxladığınız şey bu idi) blokun yuxarı hissəsidir (<code>=======</code>-dən yuxarıdakı hər şey), <code>iss53</code> branch-nızdakı versiya alt hissədəki hər şeyə bənzəyir.</p> </div> <div class="paragraph"> <p>Konflikti həll etmək üçün ya bir tərəfi,ya da digərini seçməlisiniz və ya özünüzü birləşdirməlisiniz.</p> </div> <div class="paragraph"> <p>Məsələn, bütün bloku aşağıdakı ilə əvəz etməklə bu konflikti həll edə bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-html" data-lang="html"><div id="footer"> please contact us at email.support@github.com </div></code></pre> </div> </div> <div class="paragraph"> <p>Bu həll yolunuz hər hissəsində bir az var və <code><<<<<<<</code>, <code>=======</code> və <code>>>>>>>></code> sətirləri tamamilə çıxarıldı. Hər bir konflikt faylda bu bölmələrin hər birini həll etdikdən sonra, həll olunduğunu qeyd etmək üçün hər bir fayl üzərində <code>git add</code> edin. Faylın səhnələşdirilməsi Git-də həll olunduğu kimi qeyd olunur.</p> </div> <div class="paragraph"> <p>Bu problemləri həll etmək üçün bir qrafik vasitədən istifadə etmək istəyirsinizsə, uyğun vizual birləşmə vasitəsini işə salan və qarşıdurmalardan keçən <code>git mergetool</code> işlədə bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git mergetool This message is displayed because 'merge.tool' is not configured. See 'git mergetool --tool-help' or 'git help config' for more details. 'git mergetool' will now attempt to use one of the following tools: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse diffmerge ecmerge p4merge araxis bc3 codecompare vimdiff emerge Merging: index.html Normal merge conflict for 'index.html': {local}: modified file {remote}: modified file Hit return to start merge resolution tool (opendiff):</code></pre> </div> </div> <div class="paragraph"> <p>Standartdan başqa bir birləşmə vasitəsini istifadə etmək istəyirsinizsə (əmr Mac-də işlədiyi üçün Git bu vəziyyətdə <code>opendiff</code> seçdi), aşağıdakı alətlərdən birini istifadə etdikdən sonra yuxarıda sadalanan bütün dəstəklənən alətləri görə bilərsiniz. İstədiyiniz vasitənin adını yazın.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> <div class="paragraph"> <p>Çətin birləşmə konfliktlərini həll etmək üçün daha inkişaf etmiş vasitələrə ehtiyacınız varsa, <a href="/book/az/v2/ch00/_advanced_merging">İnkişaf etmiş Birləşmə</a> bölməsində daha çox məlumat veririk.</p> </div> </td> </tr> </table> </div> <div class="paragraph"> <p>Birləşmə alətindən çıxdıqdan sonra Git birləşmənin uğurlu olub olmadığını soruşur. Skriptin olduğunu söyləsəniz, sənədin sizin üçün həll olunduğunu qeyd etmək üçün mərhələləndirir. Bütün konfliktlərin həll olunduğunu təsdiqləmək üçün yenidən `git status ` tətbiq edə bilərsiniz:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git status On branch master All conflicts fixed but you are still merging. (use "git commit" to conclude merge) Changes to be committed: modified: index.html</code></pre> </div> </div> <div class="paragraph"> <p>Bundan məmnun olsanız və konflikt ilə əlaqəli hər şeyin səhnəyə qoyulduğunu təsdiqləsəniz, birləşmə commitini yekunlaşdırmaq üçün <code>git commit</code> yazın. Varsayılan mesaj bu şəkildə olacaqdır:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">Merge branch 'iss53' Conflicts: index.html # # It looks like you may be committing a merge. # If this is not correct, please remove the file # .git/MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: index.html #</code></pre> </div> </div> <div class="paragraph"> <p>Gələcəkdə bu birləşməyə baxan başqalarına faydalı olacağını düşünürsənsə, birləşmə məsələsini necə həll etdiyiniz barədə təfərrüatları olan bu mesajı dəyişdirə bilərsiniz və ya bunlar aydın deyilsə, etdiyiniz dəyişiklikləri niyə etdiyinizi izah edə bilərsiniz.</p> </div> </div> <div id="nav"><a href="/book/az/v2/Git’də-Branch-Nutshell’də-Branch’lar">prev</a> | <a href="/book/az/v2/Git’də-Branch-Branch-İdarəedilməsi">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>