CINXE.COM
Git - Узоқ масофадаги тармоқлар
<!DOCTYPE html> <html lang="uz"> <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 - Узоқ масофадаги тармоқлар</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-Remote-Branches">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Uzaq-Branch%e2%80%99lar">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%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>,</td></tr> <tr><td><a href="/book/de/v2/Git-Branching-Remote-Branches">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Ramificaciones-en-Git-Ramas-Remotas">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Les-branches-avec-Git-Branches-de-suivi-%c3%a0-distance">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%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%96%e3%83%a9%e3%83%b3%e3%83%81">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%b8%8c%eb%9e%9c%ec%b9%98-%eb%a6%ac%eb%aa%a8%ed%8a%b8-%eb%b8%8c%eb%9e%9c%ec%b9%98">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Branchen-in-Git-Branches-op-afstand-Remote-branches">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%a3%d0%b4%d0%b0%d0%bb%d1%91%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b2%d0%b5%d1%82%d0%ba%d0%b8">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Veje-Git-Oddaljene-veje">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Pag-branch-ng-Git-Remote-na-mga-Branch">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%92%d1%96%d0%b4%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d1%96-%d0%b3%d1%96%d0%bb%d0%ba%d0%b8">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%88%86%e6%94%af-%e8%bf%9c%e7%a8%8b%e5%88%86%e6%94%af">简体中文</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-Vzd%c3%a1len%c3%a9-v%c4%9btve">Č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%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>,</td></tr> <tr><td><a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Ga%c5%82%c4%99zie-zdalne">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%a3%d0%b4%d0%b0%d1%99%d0%b5%d0%bd%d0%b5-%d0%b3%d1%80%d0%b0%d0%bd%d0%b5">Српски</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%a3%d0%b7%d0%be%d2%9b-%d0%bc%d0%b0%d1%81%d0%be%d1%84%d0%b0%d0%b4%d0%b0%d0%b3%d0%b8-%d1%82%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d1%80">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/%e4%bd%bf%e7%94%a8-Git-%e5%88%86%e6%94%af-%e9%81%a0%e7%ab%af%e5%88%86%e6%94%af">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Branching-Remote-Branches">Беларуская</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%d9%87%d8%a7%db%8c-%d8%b1%db%8c%d9%85%d9%88%d8%aa" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Branching-Remote-Branches">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Branching-Remote-Branches">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Branching-Remote-Branches">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Branches-no-Git-Branches-remotos">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ramifica%c3%a7%c3%a3o-do-Git-Remote-Branches">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-f%c3%b6rgreningar-Fj%c3%a4rrgrenar">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Dallar%c4%b1-Uzak-Dallar">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-uz">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/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-%d0%a2%d0%b0%d0%bb%d2%9b%d0%b8%d0%bd%d0%bb%d0%b0%d1%80%d0%bd%d0%b8-%d0%b1%d0%be%d1%88%d2%9b%d0%b0%d1%80%d0%b8%d1%88-%d2%b3%d0%b0%d2%9b%d0%b8%d0%b4%d0%b0">Иш бошланиши</a></h2> <ol> <li> 1.1 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-%d0%a2%d0%b0%d0%bb%d2%9b%d0%b8%d0%bd%d0%bb%d0%b0%d1%80%d0%bd%d0%b8-%d0%b1%d0%be%d1%88%d2%9b%d0%b0%d1%80%d0%b8%d1%88-%d2%b3%d0%b0%d2%9b%d0%b8%d0%b4%d0%b0">Талқинларни бошқариш ҳақида</a> </li> <li> 1.2 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-Git-%d0%bd%d0%b8%d0%bd%d0%b3-%d2%9b%d0%b8%d1%81%d2%9b%d0%b0%d1%87%d0%b0-%d1%82%d0%b0%d1%80%d0%b8%d1%85%d0%b8">Git нинг қисқача тарихи</a> </li> <li> 1.3 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-Git-%d0%b0%d1%81%d0%be%d1%81%d0%b8">Git асоси</a> </li> <li> 1.4 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-%d0%9a%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b0%d0%bb%d0%b0%d1%80-%d1%81%d0%b0%d1%82%d1%80%d0%b8">Командалар сатри</a> </li> <li> 1.5 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-Git-%d0%bd%d0%b8-%d1%9e%d1%80%d0%bd%d0%b0%d1%82%d0%b8%d1%88">Git ни ўрнатиш</a> </li> <li> 1.6 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-Git-%d0%b4%d0%b0-%d0%b1%d0%b8%d1%80%d0%b8%d0%bd%d1%87%d0%b8-%d1%81%d0%be%d0%b7%d0%bb%d0%b0%d1%88%d0%bb%d0%b0%d1%80">Git да биринчи созлашлар</a> </li> <li> 1.7 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-%d2%9a%d0%b0%d0%bd%d0%b4%d0%b0%d0%b9-%d1%91%d1%80%d0%b4%d0%b0%d0%bc-%d0%be%d0%bb%d0%b8%d1%88-%d0%bc%d1%83%d0%bc%d0%ba%d0%b8%d0%bd%3F">Қандай ёрдам олиш мумкин?</a> </li> <li> 1.8 <a href="/book/uz/v2/%d0%98%d1%88-%d0%b1%d0%be%d1%88%d0%bb%d0%b0%d0%bd%d0%b8%d1%88%d0%b8-%d0%a5%d1%83%d0%bb%d0%be%d1%81%d0%b0%d0%bb%d0%b0%d1%80">Хулосалар</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-Git-%d0%be%d0%bc%d0%b1%d0%be%d1%80%d0%b8%d0%bd%d0%b8-%d1%8f%d1%80%d0%b0%d1%82%d0%b8%d1%88">Git асослари</a></h2> <ol> <li> 2.1 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-Git-%d0%be%d0%bc%d0%b1%d0%be%d1%80%d0%b8%d0%bd%d0%b8-%d1%8f%d1%80%d0%b0%d1%82%d0%b8%d1%88">Git омборини яратиш</a> </li> <li> 2.2 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-%d0%8e%d0%b7%d0%b3%d0%b0%d1%80%d0%b8%d1%88%d0%bb%d0%b0%d1%80%d0%bd%d0%b8-%d0%be%d0%bc%d0%b1%d0%be%d1%80%d0%b3%d0%b0-%d1%91%d0%b7%d0%b8%d1%88">Ўзгаришларни омборга ёзиш</a> </li> <li> 2.3 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-%d0%a4%d0%b8%d0%ba%d1%81%d0%b8%d1%80%d0%bb%d0%b0%d1%88%d0%bb%d0%b0%d1%80-%d1%82%d0%b0%d1%80%d0%b8%d1%85%d0%b8%d0%bd%d0%b8-%d0%ba%d1%9e%d1%80%d0%b8%d1%88">Фиксирлашлар тарихини кўриш</a> </li> <li> 2.4 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-%d0%8e%d0%b7%d0%b3%d0%b0%d1%80%d0%b8%d1%88%d0%bb%d0%b0%d1%80%d0%bd%d0%b8-%d0%b1%d0%b5%d0%ba%d0%be%d1%80-%d2%9b%d0%b8%d0%bb%d0%b8%d1%88">Ўзгаришларни бекор қилиш</a> </li> <li> 2.5 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-%d0%a3%d0%b7%d0%be%d2%9b-%d0%bc%d0%b0%d1%81%d0%be%d1%84%d0%b0%d0%b4%d0%b0%d0%b3%d0%b8-%d0%be%d0%bc%d0%b1%d0%be%d1%80%d0%bb%d0%b0%d1%80-%d0%b1%d0%b8%d0%bb%d0%b0%d0%bd-%d0%b8%d1%88%d0%bb%d0%b0%d1%88">Узоқ масофадаги омборлар билан ишлаш</a> </li> <li> 2.6 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-%d0%a2%d0%b0%d0%bc%d2%93%d0%b0%d0%bb%d0%b0%d1%88">Тамғалаш</a> </li> <li> 2.7 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-Git-%d0%b4%d0%b0-%d1%82%d0%b0%d2%b3%d0%b0%d0%bb%d0%bb%d1%83%d1%81%d0%bb%d0%b0%d1%80">Git да таҳаллуслар</a> </li> <li> 2.8 <a href="/book/uz/v2/Git-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8-%d0%a5%d1%83%d0%bb%d0%be%d1%81%d0%b0">Хулоса</a> </li> </ol> </li> <li class='chapter'> <h2>3. <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-%d2%b3%d0%b0%d2%9b%d0%b8%d0%b4%d0%b0-%d0%b8%d0%ba%d0%ba%d0%b8-%d0%be%d2%93%d0%b8%d0%b7-%d1%81%d1%9e%d0%b7">Git да тармоқланиш</a></h2> <ol> <li> 3.1 <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-%d2%b3%d0%b0%d2%9b%d0%b8%d0%b4%d0%b0-%d0%b8%d0%ba%d0%ba%d0%b8-%d0%be%d2%93%d0%b8%d0%b7-%d1%81%d1%9e%d0%b7">Тармоқланиш ҳақида икки оғиз сўз</a> </li> <li> 3.2 <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> </li> <li> 3.3 <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%d1%80%d0%bd%d0%b8-%d0%b1%d0%be%d1%88%d2%9b%d0%b0%d1%80%d0%b8%d1%88">Тармоқларни бошқариш</a> </li> <li> 3.4 <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%98%d1%88-%d0%b6%d0%b0%d1%80%d0%b0%d1%91%d0%bd%d0%bb%d0%b0%d1%80%d0%b8%d0%bd%d0%b8-%d1%82%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d1%88">Иш жараёнларини тармоқлаш</a> </li> <li> 3.5 <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%a3%d0%b7%d0%be%d2%9b-%d0%bc%d0%b0%d1%81%d0%be%d1%84%d0%b0%d0%b4%d0%b0%d0%b3%d0%b8-%d1%82%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d1%80" class="active">Узоқ масофадаги тармоқлар</a> </li> <li> 3.6 <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-%d2%9a%d0%b0%d0%b9%d1%82%d0%b0-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d0%bd%d0%b8%d1%88">Қайта асосланиш</a> </li> <li> 3.7 <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%a5%d1%83%d0%bb%d0%be%d1%81%d0%b0%d0%bb%d0%b0%d1%80">Хулосалар</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-The-Protocols">Git серверда</a></h2> <ol> <li> 4.1 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-The-Protocols">The Protocols</a> </li> <li> 4.2 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-Getting-Git-on-a-Server">Getting Git on a Server</a> </li> <li> 4.3 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-Sizning-SSH-ochiq-public-kalitingizni-generatsiyalash">Sizning SSH ochiq (public) kalitingizni generatsiyalash</a> </li> <li> 4.4 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-Setting-Up-the-Server">Setting Up the Server</a> </li> <li> 4.5 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-Git-Daemon">Git Daemon</a> </li> <li> 4.6 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-Smart-HTTP">Smart HTTP</a> </li> <li> 4.7 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-Third-Party-Hosted-Options">Third Party Hosted Options</a> </li> <li> 4.10 <a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-%d0%a5%d1%83%d0%bb%d0%be%d1%81%d0%b0%d0%bb%d0%b0%d1%80">Хулосалар</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/uz/v2/Distributed-Git-Distributed-Workflows">Distributed Git</a></h2> <ol> <li> 5.1 <a href="/book/uz/v2/Distributed-Git-Distributed-Workflows">Distributed Workflows</a> </li> <li> 5.2 <a href="/book/uz/v2/Distributed-Git-Contributing-to-a-Project">Contributing to a Project</a> </li> <li> 5.3 <a href="/book/uz/v2/Distributed-Git-Maintaining-a-Project">Maintaining a Project</a> </li> <li> 5.4 <a href="/book/uz/v2/Distributed-Git-Summary">Summary</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/uz/v2/GitHub-Account-Setup-and-Configuration">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/uz/v2/GitHub-Account-Setup-and-Configuration">Account Setup and Configuration</a> </li> <li> 6.2 <a href="/book/uz/v2/GitHub-Contributing-to-a-Project">Contributing to a Project</a> </li> <li> 6.3 <a href="/book/uz/v2/GitHub-Maintaining-a-Project">Maintaining a Project</a> </li> <li> 6.4 <a href="/book/uz/v2/GitHub-Managing-an-organization">Managing an organization</a> </li> <li> 6.5 <a href="/book/uz/v2/GitHub-Scripting-GitHub">Scripting GitHub</a> </li> <li> 6.6 <a href="/book/uz/v2/GitHub-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/uz/v2/Git-Tools-Revision-Selection">Git Tools</a></h2> <ol> <li> 7.1 <a href="/book/uz/v2/Git-Tools-Revision-Selection">Revision Selection</a> </li> <li> 7.2 <a href="/book/uz/v2/Git-Tools-Interactive-Staging">Interactive Staging</a> </li> <li> 7.3 <a href="/book/uz/v2/Git-Tools-Stashing-and-Cleaning">Stashing and Cleaning</a> </li> <li> 7.4 <a href="/book/uz/v2/Git-Tools-Signing-Your-Work">Signing Your Work</a> </li> <li> 7.5 <a href="/book/uz/v2/Git-Tools-Searching">Searching</a> </li> <li> 7.6 <a href="/book/uz/v2/Git-Tools-Rewriting-History">Rewriting History</a> </li> <li> 7.7 <a href="/book/uz/v2/Git-Tools-Reset-Demystified">Reset Demystified</a> </li> <li> 7.8 <a href="/book/uz/v2/Git-Tools-Advanced-Merging">Advanced Merging</a> </li> <li> 7.9 <a href="/book/uz/v2/Git-Tools-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/uz/v2/Git-Tools-Debugging-with-Git">Debugging with Git</a> </li> <li> 7.11 <a href="/book/uz/v2/Git-Tools-Qism-modullar-Submodule">Qism modullar (Submodule)</a> </li> <li> 7.12 <a href="/book/uz/v2/Git-Tools-Bundling">Bundling</a> </li> <li> 7.13 <a href="/book/uz/v2/Git-Tools-Replace">Replace</a> </li> <li> 7.14 <a href="/book/uz/v2/Git-Tools-Credential-Storage">Credential Storage</a> </li> <li> 7.15 <a href="/book/uz/v2/Git-Tools-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/uz/v2/Customizing-Git-Git-Configuration">Customizing Git</a></h2> <ol> <li> 8.1 <a href="/book/uz/v2/Customizing-Git-Git-Configuration">Git Configuration</a> </li> <li> 8.2 <a href="/book/uz/v2/Customizing-Git-Git-Attributes">Git Attributes</a> </li> <li> 8.3 <a href="/book/uz/v2/Customizing-Git-Git-Hooks">Git Hooks</a> </li> <li> 8.4 <a href="/book/uz/v2/Customizing-Git-An-Example-Git-Enforced-Policy">An Example Git-Enforced Policy</a> </li> <li> 8.5 <a href="/book/uz/v2/Customizing-Git-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/uz/v2/Git-and-Other-Systems-Git-as-a-Client">Git and Other Systems</a></h2> <ol> <li> 9.1 <a href="/book/uz/v2/Git-and-Other-Systems-Git-as-a-Client">Git as a Client</a> </li> <li> 9.2 <a href="/book/uz/v2/Git-and-Other-Systems-Migrating-to-Git">Migrating to Git</a> </li> <li> 9.3 <a href="/book/uz/v2/Git-and-Other-Systems-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/uz/v2/Git-Internals-Plumbing-and-Porcelain">Git Internals</a></h2> <ol> <li> 10.1 <a href="/book/uz/v2/Git-Internals-Plumbing-and-Porcelain">Plumbing and Porcelain</a> </li> <li> 10.2 <a href="/book/uz/v2/Git-Internals-Git-Objects">Git Objects</a> </li> <li> 10.3 <a href="/book/uz/v2/Git-Internals-Git-References">Git References</a> </li> <li> 10.4 <a href="/book/uz/v2/Git-Internals-Packfiles">Packfiles</a> </li> <li> 10.5 <a href="/book/uz/v2/Git-Internals-The-Refspec">The Refspec</a> </li> <li> 10.6 <a href="/book/uz/v2/Git-Internals-Transfer-Protocols">Transfer Protocols</a> </li> <li> 10.7 <a href="/book/uz/v2/Git-Internals-Maintenance-and-Data-Recovery">Maintenance and Data Recovery</a> </li> <li> 10.8 <a href="/book/uz/v2/Git-Internals-Environment-Variables">Environment Variables</a> </li> <li> 10.9 <a href="/book/uz/v2/Git-Internals-Summary">Summary</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces">Appendix A: Git in Other Environments</a></h2> <ol> <li> A1.1 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces">Graphical Interfaces</a> </li> <li> A1.2 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio">Git in Visual Studio</a> </li> <li> A1.3 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Eclipse">Git in Eclipse</a> </li> <li> A1.4 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash">Git in Bash</a> </li> <li> A1.5 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh">Git in Zsh</a> </li> <li> A1.6 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Powershell">Git in Powershell</a> </li> <li> A1.7 <a href="/book/uz/v2/Appendix-A:-Git-in-Other-Environments-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/uz/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git">Appendix B: Embedding Git in your Applications</a></h2> <ol> <li> A2.1 <a href="/book/uz/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git">Command-line Git</a> </li> <li> A2.2 <a href="/book/uz/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/uz/v2/Appendix-B:-Embedding-Git-in-your-Applications-JGit">JGit</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/uz/v2/Appendix-C:-Git-Commands-Setup-and-Config">Appendix C: Git Commands</a></h2> <ol> <li> A3.1 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Setup-and-Config">Setup and Config</a> </li> <li> A3.2 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Getting-and-Creating-Projects">Getting and Creating Projects</a> </li> <li> A3.3 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Basic-Snapshotting">Basic Snapshotting</a> </li> <li> A3.4 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Branching and Merging</a> </li> <li> A3.5 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Sharing-and-Updating-Projects">Sharing and Updating Projects</a> </li> <li> A3.6 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison">Inspection and Comparison</a> </li> <li> A3.7 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Debugging">Debugging</a> </li> <li> A3.8 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Patching">Patching</a> </li> <li> A3.9 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Email">Email</a> </li> <li> A3.10 <a href="/book/uz/v2/Appendix-C:-Git-Commands-External-Systems">External Systems</a> </li> <li> A3.11 <a href="/book/uz/v2/Appendix-C:-Git-Commands-Administration">Administration</a> </li> <li> A3.12 <a href="/book/uz/v2/Appendix-C:-Git-Commands-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>3.5 Git да тармоқланиш - Узоқ масофадаги тармоқлар</h1> <div> <h2 id="_remote_branches">Узоқ масофадаги тармоқлар</h2> <div class="paragraph"> <p> Узоқ масофадаги тармоқлар — бу сизни узоқ масофадаги омборларингиз ҳолатларига мурожаатлар (pointers). Булар силжитиб бўлмайдиган маҳаллий тармоқлар; улар ҳар доим тармоқ билан алоқа ўрнатган вақтингизда автоматик силжийди. Узоқ масофадаги тармоқлар уларга охирги бор боғланиш бўлганда улар қаерда жойлашганлигини эслатиб турувчи маҳкамланган белгилашлар каби ҳаракат қилади.</p> </div> <div class="paragraph"> <p>Улар <code>(узоқ. мас. омбор номи )/(тармоқ)</code> каби кўринади. Масалан, агар сиз <code>origin</code> серверидаги <code>master</code> тармоғи охирги бор уланиш вақтида қандай кўринишда бўлганлигини кўрмоқчи бўлсангиз <code>origin/master</code> тармоғини текширинг. Агар сиз шеригингиз билан бир муаммо устида ишлаган бўлсангиз ва у <code>iss53</code> тармоғини жойлаштирган бўлса бу вақтда сизда <code>iss53</code> маҳаллий тармоғингиз бор бўлиши мумкин бироқ у сервердаги тармоқ <code>origin/iss53</code> нинг фиксирлашига кўрсатади.</p> </div> <div class="paragraph"> <p>Буларни ҳаммаси бизни чалкаштирмаслиги учун кеоинг мисол кўрамиз. Айтайлик сизда компьютер тармоғида <code>git.ourcompany.com</code> ном билан чақирилувчи ўзингизни Git-серверингиз бор. Агар сиз ундан ниманидир клонласангиз Git нинг <code>clone</code> командаси автоматик тарзда уни <code>origin</code> дея номлаб, ундан барча маълумотларни олади, у ёқда <code>master</code> тармоғи кўрсатаётган кўрсаткич учун янги кўрсаткич яратади ва уни маҳаллий жойда <code>origin/master</code> дея номлайди. Git шунигдек, сизни ўз <code>master</code> тармоғингизни яратади. У origin серверидаги <code>master</code> тармоғи келган жойдан бошланади. Шу туфайли сизни нима биландир шуғулланишингизга имкониятингиз бўлади.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> <div class="title">``origin`` — бу махсус ном эмас</div> <div class="paragraph"> <p>``origin`` номи ва унга ўхшаб тармоқнинг номи ``master`` ҳам Git учун ҳеч қандай маъно англатмайди. Шу дамда ``master`` — бу <code>git init</code> командасини ишга туширсангиз манба тармоғига одатда бериладиган ном, фақат биргина сабаб туфайли ``origin`` - бу <code>git clone</code> командасини ишга туширганингизаги узоқ масофадаги тармоқга бериладиган ном. Агар сиз <code>git clone -o booyah</code> командасини ишга туширсангиз, сиз узоқ масофадаги тармоқ учун одатий ном сифатида <code>booyah/master</code> ни назарда тутган бўласиз. </p> </div> </td> </tr> </table> </div> <div class="imageblock"> <div class="content"> <img src="/book/uz/v2/images/remote-branches-1.png" alt="Клонлашдан сўнг сервер ва маҳаллий омборлар."> </div> <div class="title">Figure 30. Клонлашдан сўнг сервер ва маҳаллий омборлар</div> </div> <div class="paragraph"> <p>Агар сиз ўзингизни маҳаллий тармоғингизда нимадир қилсангиз ва шу вақт оралиғида кимдир ўзгаришларни <code>git.ourcompany.com</code> га ташлаб <code>master</code> тармоқни янгилаган бўлса у ҳолда сизларнинг тарихларингиз турли давом этади. Яна сиз токи origin тармоқ билан боғланмас экансиз сизни <code>origin/master</code> кўрсаткичингиз силжимай тураверади.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/uz/v2/images/remote-branches-2.png" alt="Маҳаллий ва узоқ масофадаги иш ажралиб кетиши мумкин."> </div> <div class="title">Figure 31. Маҳаллий ва узоқ масофадаги иш ажралиб кетиши мумкин</div> </div> <div class="paragraph"> <p>Сизни ишингиз синхронизация қилиб туриши учун <code>git fetch origin</code> командаси бажарилади. Ушбу команда ``origin`` қайси серверга мослигини излайди (бизнинг мисолимизда бу <code>git.ourcompany.com</code>); у ердан сизда мавжуд бўлмаган барча маълумотларни олиб сизни маҳаллий омборингизни янгилайди. <code>origin/master</code> кўрсаткичини янги ўринга силжитади.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/uz/v2/images/remote-branches-3.png" alt="`git fetch` сизнинг узоқ масофадаги гипер мурожаатларингизни ўзгартиради."> </div> <div class="title">Figure 32. <code>git fetch</code> сизнинг узоқ масофадаги гипер мурожаатларингизни ўзгартиради</div> </div> <div class="paragraph"> <p>Бир қанча узоқ масофадаги серверлардаги узоқ масофадаги тармоқларни қандай бўлишини кўриб чиқиш учун тасаввур қиламиз сизда яна битта фақатгина маълум бир яратувчилар гуруҳи ишлай оладиган ички Git-сервер бор. Ушбу сервер <code>git.team1.ourcompany.com</code> да жойлашган. Сиз уни хозир ишлаб турган лойиҳангизга янги узоқ масофа мурожаати тарзида <a href="/book/uz/v2/ch00/_git_basics_chapter">Git асослари</a> да ёзилганидек <code>git remote add</code> командаси ёрдамида қўшишингиз мумкин. Ушбу узоқ масофадаги серверга <code>teamone</code> дея ном беринг. Ушбу ном тўлиқ URL учун қисқа ном бўлади.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/uz/v2/images/remote-branches-4.png" alt="Узоқ масофадаги тармоқ тарзида янги серверни қўшиш."> </div> <div class="title">Figure 33. Узоқ масофадаги тармоқ тарзида янги серверни қўшиш</div> </div> <div class="paragraph"> <p>Энди серверда бору лекин сизда бўлмаган барча маълумотларни олиш учун <code>git fetch teamone</code> командасини беришингиз керак. Айни дамда ушбу серверда <code>origin</code> серверида мавжуд бўлган фақат маълум бир қисм маълумотлар бўлгани боис Git ҳеч қандай маълумот олмайди бироқ узоқ масофадаги <code>teamone</code> серверидаги <code>master</code> тармоқдаги фиксирлаш кўрсаткичига мос тармоқни <code>teamone/master</code> номи билан қўяди.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/uz/v2/images/remote-branches-5.png" alt="`teamone/master` тармоғини кзоқ масофадан кузатиш."> </div> <div class="title">Figure 34. <code>teamone/master</code> тармоғини кзоқ масофадан кузатиш</div> </div> <div class="sect3"> <h3 id="_pushing_branches">Ўзгаришларни жўнатиш</h3> <div class="paragraph"> <p> Қачон сиз тармоқни атрофдагиларга улашмоқчи бўлсангиз сиз уни ёзишга руҳсатингиз мавжуд бўлган серверга жўнатишингиз (push) керак бўлади. Сизнинг маҳаллий тармоқларингиз автоматик тарзда узоқ масофадаги серверлар билан бир хиллик алмашинувини амалга оширмайди. Сиз айнан қайси тармоқни улашмоқчи бўлсангиз ўшаларни аниқ кўрсатиб жўнатишингиз керак бўлади. Шу тарзда сиз бошқаларга кўрсатишни хоҳламаган ўзингизни тармоқларингизни иш учун қўллашингиз ва бошқалар билан биргаликда ишлашингиз мумкин бўлган маълум бир мавзули тармоқларингизни жўнатишингиз мумкин.</p> </div> <div class="paragraph"> <p>Агар сизда бошқалар билан ишлашни хоҳлаган <code>serverfix</code> тармоқ мавжуд бўлса сиз уни биринчи жўнатган тармоғингиз каби жўнатишингиз мумкин бўлади. <code>git push (узоқ мас. сервер) (тармоқ)</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git push origin serverfix Counting objects: 24, done. Delta compression using up to 8 threads. Compressing objects: 100% (15/15), done. Writing objects: 100% (24/24), 1.91 KiB | 0 bytes/s, done. Total 24 (delta 2), reused 0 (delta 0) To https://github.com/schacon/simplegit * [new branch] serverfix -> serverfix</code></pre> </div> </div> <div class="paragraph"> <p>Бу қандайдир маънода қисқартириш. Git автоматик тарзда <code>serverfix</code> тармоқ номини <code>refs/heads/serverfix:refs/heads/serverfix</code> га алмаштиради, бу эса “менинг маҳаллий serverfix тармоғимни ол ва унга узоқ масофадаги serverfix тармоғини янгила.” Биз бўлимни <code>refs/heads/</code> билан <a href="/book/uz/v2/ch00/_git_internals">Git Internals</a> да батафсилроқ таҳлил қиламиз, бироқ уни ўтказиб юбориш ҳам мумкин. Сиз шунингдек <code>git push origin serverfix:serverfix</code> ни бажаришингиз мумкин — унда ҳам ўша жараён бўлади, бу эса “менинг serverfix имни ол ва уни узоқ масофадаги serverfix га айлантир.” дегани. Ушбу форматни маҳаллий тармоқни узоқ масофадаги тармоқга бошқа ном билан жўнатиш учун ишлатилади. Агар сиз тармоқни узоқ масофада <code>serverfix</code> дея номланиши хоҳламасангиз у ҳолда бундан аввалги команда ўрнига <code>git push origin serverfix:awesomebranch</code> ни бажаринг. Шундай қилиб сизни <code>serverfix</code> маҳаллий тармоғингиз узоқ масофадаги лойиҳа <code>awesomebranch</code> тармоғига жўнатилади.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> <div class="title">Ҳар сафар ўз махфий кодингизни (паролингизни) киритманг</div> <div class="paragraph"> <p>Агар сиз ўзгаришларни жўнатиш учун HTTPS URL ни ишлатаётган бўлсангиз Git-сервер ҳуқуқни текшириш учун фойдаланувчи номи ва махфий кодини сўрайди. Одатда сизга ўзгаришларни жўнатишга руҳсат берилганлигини айтиш учун ушбу маълумотни терминалда киритишни тавсия қилади.</p> </div> <div class="paragraph"> <p>Агар сиз ҳар сафар ўзгаришларни юбораётганда ўз маълумотларингизни қайтадан киритишни хоҳламасангиз сиз “рўйҳатга олинган маълумотларни кешини” ўрнатишингиз мумкин. Онсони уларни хотирада бир неча дақиқа ушлаб туриш. Сиз <code>git config --global credential.helper cache</code> командаси ёрдамида онсонлик билан созлашингиз мумкин бўлади.</p> </div> <div class="paragraph"> <p>Рўйҳатга олинган маълумотларни кешлашни вариантлари ҳақида янада батафсилроқ маълумотларни олиш учун <a href="/book/uz/v2/ch00/_credential_caching">Credential Storage</a> бўлимга қарашингиз мумкин.</p> </div> </td> </tr> </table> </div> <div class="paragraph"> <p>Кейинги сафар сизни ҳаммуаллифингиз сервердан янгиланишларни олса у сервердаги <code>serverfix</code> ни узоқ масофадаги <code>origin/serverfix</code> тармоғи сифатида нимага кўрсатаётган бўлса шуни олади:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git fetch origin remote: Counting objects: 7, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 3 (delta 0) Unpacking objects: 100% (3/3), done. From https://github.com/schacon/simplegit * [new branch] serverfix -> origin/serverfix</code></pre> </div> </div> <div class="paragraph"> <p>Шуни белилаб қўйиш керакки, маълумотларни олиш вақтида сизда янги узоқ масофа тармоқлари пайдо бўлади. Сиз улар учун автоматик тарзда ўзгартириш мумкин бўлган нусхани олмайсиз. Бошқа сўзлар билан ифодаласак, бизнинг мисолда сиз янги <code>serverfix</code> тармоғини олмайсиз фақат ўзгартира олмайдиган <code>origin/serverfix</code> кўрсаткични оласиз.</p> </div> <div class="paragraph"> <p>Ушбу ишларни ўзингизни жорий ишчи тармоғингизга бирлаштириш учун <code>git merge origin/serverfix</code> командасини беринг. Агар сизга ўзингизни ишлашингиз мумкин бўлган шахсий <code>serverfix</code> тармоғингиз керак бўлса у ҳолда сиз уни узоқ масофадаги тармоқ асосида яратишингиз мумкин:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout -b serverfix origin/serverfix Branch serverfix set up to track remote branch serverfix from origin. Switched to a new branch 'serverfix'</code></pre> </div> </div> <div class="paragraph"> <p>Бу сизга ишлашингиз мумкин бўлган маҳаллий тармоқни беради. У <code>origin/serverfix</code> қаерга келган бўлса шу ердан бошланади.</p> </div> </div> <div class="sect3"> <h3 id="_tracking_branches">Тармоқларни кузатиш</h3> <div class="paragraph"> <p> Маҳаллий тармаоқни узоқ масофадаги тармоқдан олиш ``кузатилувчи тармоқ`` (ёки баъзида ``upstream branch``) дея аталувчи тармоқни яратади. Кузатилувчи тармоқлар — бу узоқ масофадаги тармоқлар билан тўғридан тўғри боғланган маҳаллий тармоқлар. Агар сиз кузатилувчи тармоқда туриб <code>git pull</code> командасини берсангиз Git қайси узоқ масофадаги сервердан барча мурожаатларни олиш кераклигини билади ва мос узоқ масофадаги тармоқ билан бирлаштиришни амалга оширади.</p> </div> <div class="paragraph"> <p>Омборни клонлаштириш мобайнида <code>origin/master</code> ни кузатувчи <code>master</code> тармоғи автоматик тарзда яратилади. Бироқ, сиз бошқа кузатувчи тармоқларни ҳам созлаб қўйишингиз мумкин. Айтайлик, агар сиз тармоқларнинг ҳаммаси бошқа узоқ масофадаги омбордагиларни кузатишини хоҳлайсиз ёки <code>master</code> тармоғини кузатишни хоҳламайсиз. Оддий мисол, сиз хозиргина буни қандай қилишни кўрдингиз <code>git checkout -b [тармоқ] [узоқ мас. сервер]/[тармоқ]</code>. git тақдим этувчи умумий қабул қилинган амаллар мавжуд бўлиб у қуйида <code>--track</code> опцияси билан берилиши келтирилган:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout --track origin/serverfix Branch serverfix set up to track remote branch serverfix from origin. Switched to a new branch 'serverfix'</code></pre> </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 checkout -b sf origin/serverfix Branch sf set up to track remote branch serverfix from origin. Switched to a new branch 'sf'</code></pre> </div> </div> <div class="paragraph"> <p>Энди сизни sf маҳаллий тармоғингиз origin/serverfix дан ўзгаришларни автоматик тарзда олиб(pull) туради.</p> </div> <div class="paragraph"> <p>Агар сизда маҳаллий тармоқ мавжуд бўлса ва уни хозиргина олган узоқ масофадаги тармоққа созламоқчи бўлсангиз ёки сиз кузатаётган upstream-тармоқни ўзгартирмоқчи бўлсангиз у ҳолда сиз ихтиёрий вақтда уни аниқ кўрсатиб ўрнатиш учун <code>-u</code> ёки <code>--set-upstream-to</code> калитлари билан биргаликда <code>git branch</code> командасини ишлатишингиз мумкин.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -u origin/serverfix Branch serverfix set up to track remote branch serverfix from origin.</code></pre> </div> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> <div class="title">Upstream нинг қисқартмаси</div> <div class="paragraph"> <p>Агар сизда кузатилаётган ўрнатилган тармоқ мавжуд бўлса сиз унга <code>@{upstream}</code> ёки унинг қисқартмаси бўлмиш <code>@{u}</code> орқали мурожаат қилишингиз мумкин. Хуллас, агар сиз <code>master</code> тармоғида турган бўлсангиз ва <code>origin/master</code> кузатилаётган бўлса, сиз истасангиз <code>git merge @{u}</code> га ўхшаш командани <code>git merge origin/master</code> командаси ўрнига чақиришингиз мумкин.</p> </div> </td> </tr> </table> </div> <div class="paragraph"> <p>Агар сиз ўзингизда кузатилаётган қандай тармоқлар ўрнатилганини кўрмоқчи бўлсангиз, сиз <code>git branch</code> командасида <code>-vv</code> опциясидан фойдаланишингиз мумкин. Сизнинг маҳаллий тармоқларингиз қўшимча маълумотлар билан кўрсатилади. Ушбу маълумотлар ўз ичида маҳаллий тармоқларнинг қайси бири кузатилаётганлигини, маҳаллий тармоқларда қанча фиксирлашлар бўлган ва улардан қанчаси серверга жўнатилмаган ёки жўнатилсада серверга қуйилмаган ёки асосий тармоқ мос равишда тенглик хосил қилинганлигини кўрсатади.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -vv iss53 7e424c3 [origin/iss53: ahead 2] forgot the brackets master 1ae2a45 [origin/master] deploying index fix * serverfix f8674d9 [teamone/server-fix-good: ahead 3, behind 1] this should do it testing 5ea463a trying something new</code></pre> </div> </div> <div class="paragraph"> <p>Шундай қилиб бу ерда биз кўришимиз мумкинки, <code>iss53</code> тармоқ <code>origin/iss53</code> ни кузатаябди ва у 2 та ўзгаришга олдиндалигини яъни биз серверга юборилмаган 2 та фиксирлашга эгалигимизни англатади. Сиз шунингдек, <code>master</code> тармоқнинг <code>origin/master</code> ни кузатишини ва у бутун ўзгаришсиз ҳолатда эканлигини кўришингиз мумкин. Сўнгра биз <code>serverfix</code> тармоқнинг бизнинг <code>teamone</code> сервердаги <code>server-fix-good</code> тармоқни кузатаётганини ва 3 та фиксирлашга олдиндалигини кўришимиз мумкин. Бу фиксирлашлардан 1 таси серверда бўлиб у ҳали бирлаштирилмаганлигини ва 2 та фиксирлаш серверга жўнитилмаганлигидан дарак беради. Охирида биз <code>testing</code> тармоғимиз узоқ масофадаги тармоқни кузатаётганини кўришимиз мумкин.</p> </div> <div class="paragraph"> <p>Муҳим жиҳати шундаки, ушбу рақамлар - сервердан охирги бор олинган сонларни ифодалайди. Ушбу команда серверга мурожаат қилмайди балки у маҳаллий кешдаги сервер ҳақидаги маълумотдан фойдаланиб кўрсатади. Агар сиз бутунлай етакчи, ортда қолган фиксирлашларни кўрмоқчи бўлсангиз ушбу командадан олдин сиз барча узоқ масофадаги серверларингиздан маълумотларни тортиб олишингиз керак бўлади. Сиз мана бунга ўхшаш ниманидир қилишингиз мумкин бўлади: <code>$ git fetch --all; git branch -vv</code></p> </div> </div> <div class="sect3"> <h3 id="_ўзгаришларни_қабул_қилиш">Ўзгаришларни қабул қилиш</h3> <div class="paragraph"> <p> <code>git fetch</code> командаси сервердан барча ўзгаришларни олади бироқ сизни ишчи каталогингизни ўзгартирмайди. Ушбу команда сиз учун фақатгина маълумотларни тақдим этади ва сизни мустақил бирлаштиришларни амалга оширишингизга йўл қўйиб беради. Бундан ташқари <code>git pull</code> номли команда ҳам мавжуд, у кўпинча <code>git fetch</code> ва командаларининг бирин кетин берилганига тенг бўлади. Агар сизда бундан олдинги бўлимда кўрсатилганидек кузатилувчи тармоқ мавжуд бўлса, ёки у аниқ ўрнатилган бўлса, ёки у <code>clone</code> ёки <code>checkout</code> командалари шарофати билан яратилган бўлса <code>git pull</code> командаси сервер ва сизнинг жорий тармоғингиз кузатилаётганини кўради, сервердан маълумотларни олади ва сўнгра узоқ масофадаги тармоққа бирлаштиришга уриниб кўради.</p> </div> <div class="paragraph"> <p>Одатда <code>fetch</code> ва <code>merge</code> командаларини ўзларини ишлатган афзал. Чунки <code>git pull</code> командаси бажарилиши узилиб қолиши мумкин.</p> </div> </div> <div class="sect3"> <h3 id="_delete_branches">Узоқ масофадаги серверда тармоқларни ўчириш</h3> <div class="paragraph"> <p> Айтайлик сиз ва сизни ҳаммуаллифларингиз янги киришни тугатишди ва уни узоқ масофадаги <code>master</code> (ёки кодни бир моромда сақланадиган бошқа бир тармоққа) тармоғига бирлаштирдиларингиз. Сиз узоқ масофадаги сервердан <code>git push</code> командаси билан <code>--delete</code> калитини қўшиб ишлатиб тармоқни ўчиришингиз мумкин. Агар сиз сервердан <code>serverfix</code> тармоқни ўчирмоқчи бўлсангиз қуйидагини бажаринг:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git push origin --delete serverfix To https://github.com/schacon/simplegit - [deleted] serverfix</code></pre> </div> </div> <div class="paragraph"> <p>Умуман олганда ушбу сатр сервердаги кўрсаткични ўчиради. Қоидага асосан, Git-сервер токи чиқиндиларни йиғиштирувчи ишга тушмагунча маълумотларни маълум бир муддатга қолдириб туради. Агар тармоқ беҳосдан ўчирилиб кетган бўлса, уни қайта тиклаш онсон.</p> </div> </div> <div id="nav"><a href="/book/uz/v2/Git-да-тармоқланиш-Иш-жараёнларини-тармоқлаш">prev</a> | <a href="/book/uz/v2/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>