CINXE.COM
Git - Ponovno baziranje
<!DOCTYPE html> <html lang="sl"> <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 - Ponovno baziranje</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-Rebasing">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Rebasing">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%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>,</td></tr> <tr><td><a href="/book/de/v2/Git-Branching-Rebasing">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Ramificaciones-en-Git-Reorganizar-el-Trabajo-Realizado">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing">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%99%e3%83%bc%e3%82%b9">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%b8%8c%eb%9e%9c%ec%b9%98-Rebase-%ed%95%98%ea%b8%b0">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Branchen-in-Git-Rebasen">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%9f%d0%b5%d1%80%d0%b5%d0%b1%d0%b0%d0%b7%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Veje-Git-Ponovno-baziranje">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Pag-branch-ng-Git-Pag-rebase">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%9f%d0%b5%d1%80%d0%b5%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d1%83%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%8f%98%e5%9f%ba">简体中文</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-P%c5%99eskl%c3%a1d%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%a0%d0%b5%d0%b1%d0%b0%d0%b7%d0%b0">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Zmiana-bazy">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%a0%d0%b5%d0%b1%d0%b0%d0%b7%d0%b8%d1%80%d0%b0%d1%9a%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-%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>,</td></tr> <tr><td><a href="/book/zh-tw/v2/%e4%bd%bf%e7%94%a8-Git-%e5%88%86%e6%94%af-%e8%a1%8d%e5%90%88">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Branching-Rebasing">Беларуская</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%b1%db%8c%d8%a8%db%8c%d8%b3%e2%80%8c%da%a9%d8%b1%d8%af%d9%86" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Branching-Rebasing">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Branching-Rebasing">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Branching-Rebasing">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Branches-no-Git-Rebase">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ramifica%c3%a7%c3%a3o-do-Git-Rebasing">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-f%c3%b6rgreningar-Grenflytt">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Dallar%c4%b1-Yeniden-Temelleme-rebase">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-sl">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/sl/v2/Za%c4%8detek-O-nadzoru-razli%c4%8dic">Začetek</a></h2> <ol> <li> 1.1 <a href="/book/sl/v2/Za%c4%8detek-O-nadzoru-razli%c4%8dic">O nadzoru različic</a> </li> <li> 1.2 <a href="/book/sl/v2/Za%c4%8detek-Kratka-zgodovina-Gita">Kratka zgodovina Gita</a> </li> <li> 1.3 <a href="/book/sl/v2/Za%c4%8detek-Kaj-je-Git%3F">Kaj je Git?</a> </li> <li> 1.4 <a href="/book/sl/v2/Za%c4%8detek-Ukazna-vrstica">Ukazna vrstica</a> </li> <li> 1.5 <a href="/book/sl/v2/Za%c4%8detek-Namestitev-Gita">Namestitev Gita</a> </li> <li> 1.6 <a href="/book/sl/v2/Za%c4%8detek-Prva-nastavitev-Gita">Prva nastavitev Gita</a> </li> <li> 1.7 <a href="/book/sl/v2/Za%c4%8detek-Pridobivanje-pomo%c4%8di">Pridobivanje pomoči</a> </li> <li> 1.8 <a href="/book/sl/v2/Za%c4%8detek-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/sl/v2/Osnove-Git-Pridobivanje-repozitorija-Git">Osnove Git</a></h2> <ol> <li> 2.1 <a href="/book/sl/v2/Osnove-Git-Pridobivanje-repozitorija-Git">Pridobivanje repozitorija Git</a> </li> <li> 2.2 <a href="/book/sl/v2/Osnove-Git-Snemanje-sprememb-v-repozitorij">Snemanje sprememb v repozitorij</a> </li> <li> 2.3 <a href="/book/sl/v2/Osnove-Git-Pregled-zgodovine-potrditev">Pregled zgodovine potrditev</a> </li> <li> 2.4 <a href="/book/sl/v2/Osnove-Git-Razveljavljanje-stvari">Razveljavljanje stvari</a> </li> <li> 2.5 <a href="/book/sl/v2/Osnove-Git-Delo-z-daljavami">Delo z daljavami</a> </li> <li> 2.6 <a href="/book/sl/v2/Osnove-Git-Ozna%c4%8devanje">Označevanje</a> </li> <li> 2.7 <a href="/book/sl/v2/Osnove-Git-Aliasi-Git">Aliasi Git</a> </li> <li> 2.8 <a href="/book/sl/v2/Osnove-Git-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/sl/v2/Veje-Git-Veje-na-kratko">Veje Git</a></h2> <ol> <li> 3.1 <a href="/book/sl/v2/Veje-Git-Veje-na-kratko">Veje na kratko</a> </li> <li> 3.2 <a href="/book/sl/v2/Veje-Git-Osnove-vej-in-zdru%c5%beevanja">Osnove vej in združevanja</a> </li> <li> 3.3 <a href="/book/sl/v2/Veje-Git-Upravljanje-vej">Upravljanje vej</a> </li> <li> 3.4 <a href="/book/sl/v2/Veje-Git-Poteki-dela-z-vejami">Poteki dela z vejami</a> </li> <li> 3.5 <a href="/book/sl/v2/Veje-Git-Oddaljene-veje">Oddaljene veje</a> </li> <li> 3.6 <a href="/book/sl/v2/Veje-Git-Ponovno-baziranje" class="active">Ponovno baziranje</a> </li> <li> 3.7 <a href="/book/sl/v2/Veje-Git-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/sl/v2/Git-na-stre%c5%beniku-Protokoli">Git na strežniku</a></h2> <ol> <li> 4.1 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Protokoli">Protokoli</a> </li> <li> 4.2 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Pridobitev-Gita-na-stre%c5%beniku">Pridobitev Gita na strežniku</a> </li> <li> 4.3 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Generiranje-va%c5%a1ih-javnih-klju%c4%8dev-SSH">Generiranje vaših javnih ključev SSH</a> </li> <li> 4.4 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Nastavitev-stre%c5%benika">Nastavitev strežnika</a> </li> <li> 4.5 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Prikriti-proces-Git">Prikriti proces Git</a> </li> <li> 4.6 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Pametni-HTTP">Pametni HTTP</a> </li> <li> 4.7 <a href="/book/sl/v2/Git-na-stre%c5%beniku-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/sl/v2/Git-na-stre%c5%beniku-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Mo%c5%benosti-gostovanja-pri-tretjih-ponudnikih">Možnosti gostovanja pri tretjih ponudnikih</a> </li> <li> 4.10 <a href="/book/sl/v2/Git-na-stre%c5%beniku-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/sl/v2/Porazdeljeni-Git-Porazdeljeni-poteki-dela">Porazdeljeni Git</a></h2> <ol> <li> 5.1 <a href="/book/sl/v2/Porazdeljeni-Git-Porazdeljeni-poteki-dela">Porazdeljeni poteki dela</a> </li> <li> 5.2 <a href="/book/sl/v2/Porazdeljeni-Git-Prispevek-k-projektu">Prispevek k projektu</a> </li> <li> 5.3 <a href="/book/sl/v2/Porazdeljeni-Git-Vzdr%c5%beevanje-projekta">Vzdrževanje projekta</a> </li> <li> 5.4 <a href="/book/sl/v2/Porazdeljeni-Git-Povzetek">Povzetek</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/sl/v2/GitHub-Namestitev-in-konfiguracija-ra%c4%8duna">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/sl/v2/GitHub-Namestitev-in-konfiguracija-ra%c4%8duna">Namestitev in konfiguracija računa</a> </li> <li> 6.2 <a href="/book/sl/v2/GitHub-Prispevek-k-projektu">Prispevek k projektu</a> </li> <li> 6.3 <a href="/book/sl/v2/GitHub-Vzdr%c5%beevanje-projekta">Vzdrževanje projekta</a> </li> <li> 6.4 <a href="/book/sl/v2/GitHub-Upravljanje-organizacije">Upravljanje organizacije</a> </li> <li> 6.5 <a href="/book/sl/v2/GitHub-Skriptni-GitHub">Skriptni GitHub</a> </li> <li> 6.6 <a href="/book/sl/v2/GitHub-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/sl/v2/Orodja-Git-Izbira-revizije">Orodja Git</a></h2> <ol> <li> 7.1 <a href="/book/sl/v2/Orodja-Git-Izbira-revizije">Izbira revizije</a> </li> <li> 7.2 <a href="/book/sl/v2/Orodja-Git-Interaktivno-pripravljanje">Interaktivno pripravljanje</a> </li> <li> 7.3 <a href="/book/sl/v2/Orodja-Git-Shranjevanje-na-varno-angl-stashing-in-%c4%8di%c5%a1%c4%8denje">Shranjevanje na varno (angl. stashing) in čiščenje</a> </li> <li> 7.4 <a href="/book/sl/v2/Orodja-Git-Podpisovanje-va%c5%a1ega-dela">Podpisovanje vašega dela</a> </li> <li> 7.5 <a href="/book/sl/v2/Orodja-Git-Iskanje">Iskanje</a> </li> <li> 7.6 <a href="/book/sl/v2/Orodja-Git-Prepisovanje-zgodovine">Prepisovanje zgodovine</a> </li> <li> 7.7 <a href="/book/sl/v2/Orodja-Git-Demistifikacija-ponastavitve">Demistifikacija ponastavitve</a> </li> <li> 7.8 <a href="/book/sl/v2/Orodja-Git-Napredno-zdru%c5%beevanje">Napredno združevanje</a> </li> <li> 7.9 <a href="/book/sl/v2/Orodja-Git-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/sl/v2/Orodja-Git-Razhro%c5%a1%c4%8devanje-z-Gitom">Razhroščevanje z Gitom</a> </li> <li> 7.11 <a href="/book/sl/v2/Orodja-Git-Podmoduli">Podmoduli</a> </li> <li> 7.12 <a href="/book/sl/v2/Orodja-Git-Povezovanje-v-pakete">Povezovanje v pakete</a> </li> <li> 7.13 <a href="/book/sl/v2/Orodja-Git-Zamenjava">Zamenjava</a> </li> <li> 7.14 <a href="/book/sl/v2/Orodja-Git-Shramba-poverilnic">Shramba poverilnic</a> </li> <li> 7.15 <a href="/book/sl/v2/Orodja-Git-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/sl/v2/Prilagoditev-Gita-Konfiguracija-Git">Prilagoditev Gita</a></h2> <ol> <li> 8.1 <a href="/book/sl/v2/Prilagoditev-Gita-Konfiguracija-Git">Konfiguracija Git</a> </li> <li> 8.2 <a href="/book/sl/v2/Prilagoditev-Gita-Atributi-Git">Atributi Git</a> </li> <li> 8.3 <a href="/book/sl/v2/Prilagoditev-Gita-Kljuke-Git">Kljuke Git</a> </li> <li> 8.4 <a href="/book/sl/v2/Prilagoditev-Gita-Primer-pravilnika,-ki-ga-uveljavlja-Git">Primer pravilnika, ki ga uveljavlja Git</a> </li> <li> 8.5 <a href="/book/sl/v2/Prilagoditev-Gita-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/sl/v2/Git-in-ostali-sistemi-Git-kot-odjemalec">Git in ostali sistemi</a></h2> <ol> <li> 9.1 <a href="/book/sl/v2/Git-in-ostali-sistemi-Git-kot-odjemalec">Git kot odjemalec</a> </li> <li> 9.2 <a href="/book/sl/v2/Git-in-ostali-sistemi-Migracija-na-Git">Migracija na Git</a> </li> <li> 9.3 <a href="/book/sl/v2/Git-in-ostali-sistemi-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/sl/v2/Notranjost-Gita-Napeljava-in-keramika">Notranjost Gita</a></h2> <ol> <li> 10.1 <a href="/book/sl/v2/Notranjost-Gita-Napeljava-in-keramika">Napeljava in keramika</a> </li> <li> 10.2 <a href="/book/sl/v2/Notranjost-Gita-Objekti-Git">Objekti Git</a> </li> <li> 10.3 <a href="/book/sl/v2/Notranjost-Gita-Reference-Git">Reference Git</a> </li> <li> 10.4 <a href="/book/sl/v2/Notranjost-Gita-Packfiles-datoteke-zmanj%c5%a1anih-podatkov">Packfiles (datoteke zmanjšanih podatkov)</a> </li> <li> 10.5 <a href="/book/sl/v2/Notranjost-Gita-Refspec">Refspec</a> </li> <li> 10.6 <a href="/book/sl/v2/Notranjost-Gita-Protokoli-prenosa">Protokoli prenosa</a> </li> <li> 10.7 <a href="/book/sl/v2/Notranjost-Gita-Vzdr%c5%beevanje-in-obnovitev-podatkov">Vzdrževanje in obnovitev podatkov</a> </li> <li> 10.8 <a href="/book/sl/v2/Notranjost-Gita-Spremenljivke-okolja">Spremenljivke okolja</a> </li> <li> 10.9 <a href="/book/sl/v2/Notranjost-Gita-Povzetek">Povzetek</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Grafi%c4%8dni-vmesniki">Dodatek A: Git v drugih okoljih</a></h2> <ol> <li> A1.1 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Grafi%c4%8dni-vmesniki">Grafični vmesniki</a> </li> <li> A1.2 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-Visual-Studio">Git v Visual Studio</a> </li> <li> A1.3 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-Visual-Studio-Code">Git v Visual Studio Code</a> </li> <li> A1.4 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-IntelliJ-/-PyCharm-/-WebStorm-/-PhpStorm-/-RubyMine">Git v IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine</a> </li> <li> A1.5 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-Sublime-Text">Git v Sublime Text</a> </li> <li> A1.6 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-Bashu">Git v Bashu</a> </li> <li> A1.7 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-Zsh">Git v Zsh</a> </li> <li> A1.8 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Git-v-Powershellu">Git v Powershellu</a> </li> <li> A1.9 <a href="/book/sl/v2/Dodatek-A:-Git-v-drugih-okoljih-Povzetek">Povzetek</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/sl/v2/Dodatek-B:-Vdelava-Gita-v-va%c5%a1o-aplikacijo-Git-v-ukazni-vrstici">Dodatek B: Vdelava Gita v vašo aplikacijo</a></h2> <ol> <li> A2.1 <a href="/book/sl/v2/Dodatek-B:-Vdelava-Gita-v-va%c5%a1o-aplikacijo-Git-v-ukazni-vrstici">Git v ukazni vrstici</a> </li> <li> A2.2 <a href="/book/sl/v2/Dodatek-B:-Vdelava-Gita-v-va%c5%a1o-aplikacijo-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/sl/v2/Dodatek-B:-Vdelava-Gita-v-va%c5%a1o-aplikacijo-JGit">JGit</a> </li> <li> A2.4 <a href="/book/sl/v2/Dodatek-B:-Vdelava-Gita-v-va%c5%a1o-aplikacijo-go-git">go-git</a> </li> <li> A2.5 <a href="/book/sl/v2/Dodatek-B:-Vdelava-Gita-v-va%c5%a1o-aplikacijo-Dulwich">Dulwich</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Nastavitev-in-konfiguracija">Dodatek C: Ukazi Git</a></h2> <ol> <li> A3.1 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Nastavitev-in-konfiguracija">Nastavitev in konfiguracija</a> </li> <li> A3.2 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Pridobivanje-in-ustvarjanje-projektov">Pridobivanje in ustvarjanje projektov</a> </li> <li> A3.3 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Osnove-posnetkov">Osnove posnetkov</a> </li> <li> A3.4 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Veje-in-zdru%c5%beevanje">Veje in združevanje</a> </li> <li> A3.5 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Deljenje-in-posodabljanje-projektov">Deljenje in posodabljanje projektov</a> </li> <li> A3.6 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Pregled-in-primerjava">Pregled in primerjava</a> </li> <li> A3.7 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Razhro%c5%a1%c4%8devanje">Razhroščevanje</a> </li> <li> A3.8 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Popravljanje">Popravljanje</a> </li> <li> A3.9 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-E-po%c5%a1ta">E-pošta</a> </li> <li> A3.10 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Zunanji-sistemi">Zunanji sistemi</a> </li> <li> A3.11 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Administracija">Administracija</a> </li> <li> A3.12 <a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Orodja-za-sisteme-napeljave">Orodja za sisteme napeljave</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.6 Veje Git - Ponovno baziranje</h1> <div> <h2 id="_rebasing">Ponovno baziranje</h2> <div class="paragraph"> <p> V Gitu obstajata dva glavna načina za integracijo sprememb iz ene veje v drugo: <code>merge</code> in <code>rebase</code>. V tem razdelku se boste naučili, kaj je ponovno baziranje, kako ga narediti, zakaj je precej posebno orodje in v katerih primerih, ga ne boste želeli uporabiti.</p> </div> <div class="sect3"> <h3 id="_osnovno_ponovno_baziranje">Osnovno ponovno baziranje</h3> <div class="paragraph"> <p>Če se vrnete na prejšnji primer iz razdelka <a href="/book/sl/v2/ch00/_basic_merging">Osnovno združevanje</a>, lahko vidite, da ste se oddaljili od svojega dela in naredili potrditve na dveh različnih vejah.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-rebase-1.png" alt="Enostavna različna zgodovina"> </div> <div class="title">Slika 35. Enostavna različna zgodovina</div> </div> <div class="paragraph"> <p>Najenostavnejši način za integracijo vej, kot smo to že pokrili, je ukaz <code>merge</code>. Izvede tri-načinsko združevanje med dvema zadnjima posnetkoma vej (<code>C3</code> in <code>C4</code>) in najnovejšim zadnjim skupnim prednikom obeh (<code>C2</code>), kar ustvari nov posnetek (in potrditev).</p> </div> <div id="rebasing-merging-example" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-rebase-2.png" alt="Združitev za integracijo zgodovine različnega dela"> </div> <div class="title">Slika 36. Združitev za integracijo zgodovine različnega dela</div> </div> <div class="paragraph"> <p>Vendar obstaja še drug način: vzamete programski popravek spremembe, ki je bil uveden v <code>C4</code> in ga ponovno uporabite na vrhu <code>C3</code>. V Gitu se to imenuje <em>ponovno baziranje</em>. Z ukazom <code>rebase</code> lahko vzamete vse spremembe, ki so bile potrjene na eni veji, in jih ponovite na drugi veji.</p> </div> <div class="paragraph"> <p>V tem primeru bi izvlekli vejo <code>experiment</code> in jo nato ponovno bazirali na osnovi veje <code>master</code> na naslednji način:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout experiment $ git rebase master First, rewinding head to replay your work on top of it... Applying: added staged command</code></pre> </div> </div> <div class="paragraph"> <p>Ta operacije deluje tako, da gre do skupnega prednika obeh vej (tista na kateri ste in druga, katero ponovno bazirate), pridobi razliko uvedeno z vsako potrditvijo veje, na kateri ste, shrani te razlike v začasno datoteko, ponastavi trenutno vejo na isto potrditev, kot je veja, na katero bazirate, in končno v zameno uporabi vsako spremembo.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-rebase-3.png" alt="Ponovno baziranje spremembe uvedene v `C4` na `C3`"> </div> <div class="title">Slika 37. Ponovno baziranje spremembe uvedene v <code>C4</code> na <code>C3</code> </div> </div> <div class="paragraph"> <p>Na tej točki se lahko vrnete na vejo <code>master</code> in naredite združevanje s hitrim previjanjem naprej (angl. <em>fast-forward merge</em>).</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master $ git merge experiment</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-rebase-4.png" alt="Hitro previjanje naprej veje `master`"> </div> <div class="title">Slika 38. Hitro previjanje naprej veje <code>master</code> </div> </div> <div class="paragraph"> <p>Sedaj je posnetek, na katerega kaže <code>C4</code>, točno tak kot tisti, ki je bil pokazan na <code>C5</code> v primeru <a href="/book/sl/v2/ch00/rebasing-merging-example">združitve potrjevanja</a>. Ni razlike v končnem produktu integracije, vendar ponovno baziranje naredi zgodovino čistejšo. Če primerjate dnevnik ponovno bazirane veje, je videti kot linearna zgodovina: videti je, kot da se je vse delo zgodilo v serijah, tudi ko se je prvotno zgodilo vzporedno.</p> </div> <div class="paragraph"> <p>Pogostokrat boste to naredili, da zagotovite, da se vaše potrditve uporabijo gladko na oddaljeni veji — mogoče v projektu kateremu poskušate prispevati, vendar ga ne vzdržujete. V tem primeru bi naredili vaše delo na veji in nato osnovali vaše delo glede na to <code>origin/master</code>, ko ste pripravljeni poslati svoje popravke glavnemu projektu. Na ta način vzdrževalcu ni treba narediti nikakršnega integracijskega dela — samo fast-forward ali pa čista uporaba.</p> </div> <div class="paragraph"> <p>Bodite pozorni, saj gre za isti posnetek, na katerega kaže končna potrditev, s katero ste končali, bodisi je ta zadnja od ponovno bazirane potrditve za ponovno baziranje ali pa končna potrditev združevanja po združevanju — samo zgodovina je drugačna. Ponovno baziranje ponovno predvaja spremembe iz ene vrstice dela v drugo v vrstnem redu, kakor so bile uvedene, medtem ko združevanje vzame končne točke in jih združi skupaj.</p> </div> </div> <div class="sect3"> <h3 id="_bolj_zanimivo_ponovno_baziranje">Bolj zanimivo ponovno baziranje</h3> <div class="paragraph"> <p>Svoje ponovno baziranje lahko ponovno predvajate tudi na nečem drugem od ciljne veje ponovnega baziranja. Za primer vzemimo zgodovino, kot je na sliki <a href="/book/sl/v2/ch00/rbdiag_e">Zgodovina s tematsko vejo na osnovi druge tematske veje</a>. Naredili ste tematsko vejo (<code>server</code>), da ste svojemu projektu dodali nekaj funkcionalnosti strežniške strani, in naredili ste potrditev. Nato ste od tam naredili razvejanje (<code>client</code>), da ste naredili spremembe na strani odjemalca in naredili nekaj potrditev. Na koncu ste šli nazaj na vašo vejo <code>server</code> in naredili še nekaj potrditev.</p> </div> <div id="rbdiag_e" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/interesting-rebase-1.png" alt="Zgodovina s tematsko vejo na osnovi druge tematske veje"> </div> <div class="title">Slika 39. Zgodovina s tematsko vejo na osnovi druge tematske veje</div> </div> <div class="paragraph"> <p>Predpostavimo, da se odločite, da želite združiti vaše spremembe strani odjemalca v vašo glavno izdajo, vendar želite še malo počakati s spremembami strežniške strani, dokler niso nadaljnje testirane. Vzamete lahko spremembe na veji <code>client</code>, ki niso na veji <code>server</code> (<code>C8</code> in <code>C9</code>) in jih ponovno predvajate na vaši veji <code>master</code> z uporabo možnosti <code>--onto</code> ukaza <code>git rebase</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rebase --onto master server client</code></pre> </div> </div> <div class="paragraph"> <p>To v osnovi navede, »Vzemi vejo <code>client</code>, ugotovi popravke, odkar se je veja ločila od veje <code>server</code>, in jih nato ponovno predvajaj na veji <code>client</code>, kakor da je le-ta neposredno osnovana na veji <code>master</code>«. Je nekoliko bolj kompleksno, vendar rezultat je precej dober.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/interesting-rebase-2.png" alt="Ponovno baziranje tematske veje na osnovi druge tematske veje"> </div> <div class="title">Slika 40. Ponovno baziranje tematske veje na osnovi druge tematske veje</div> </div> <div class="paragraph"> <p>Sedaj lahko naredite hitro previjanje naprej (angl. <em>fast-forward</em>) na vaši veji <code>master</code> (glejte sliko <a href="/book/sl/v2/ch00/rbdiag_g">Hitro previjanje naprej vaše veje <code>master</code>, da vključuje spremembe veje <code>client</code></a>):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master $ git merge client</code></pre> </div> </div> <div id="rbdiag_g" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/interesting-rebase-3.png" alt="Hitro previjanje naprej vaše veje `master`, da vključuje spremembe veje `client`"> </div> <div class="title">Slika 41. Hitro previjanje naprej vaše veje <code>master</code>, da vključuje spremembe veje <code>client</code> </div> </div> <div class="paragraph"> <p>Recimo, da se odločite povleči to tudi v vašo vejo <code>server</code>. Ponovno baziranje lahko naredite na veji <code>server</code> glede na vejo <code>master</code>, brez da jo morate najprej izvleči s pogonom <code>git rebase <basebranch> <topicbranch></code> — kar vam izvleče tematsko vejo (v tem primeru <code>server</code>) in jo ponovno predvaja na osnovni veji (<code>master</code>):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rebase master server</code></pre> </div> </div> <div class="paragraph"> <p>To ponovno predvaja vaše delo <code>server</code> na vrhu vašega dela <code>master</code>, kot je prikazano na sliki <a href="/book/sl/v2/ch00/rbdiag_h">Ponovno baziranje vaše veje <code>server</code> na vrhu vaše veje <code>master</code></a>.</p> </div> <div id="rbdiag_h" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/interesting-rebase-4.png" alt="Ponovno baziranje vaše veje `server` na vrhu vaše veje `master`"> </div> <div class="title">Slika 42. Ponovno baziranje vaše veje <code>server</code> na vrhu vaše veje <code>master</code> </div> </div> <div class="paragraph"> <p>Nato lahko naredite fast-forward na osnovni veji (<code>master</code>):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master $ git merge server</code></pre> </div> </div> <div class="paragraph"> <p>Veji <code>client</code> in <code>server</code> lahko odstranite, ker je celotno delo integrirano in ju ne potrebujete več, kar pusti vašo zgodovino za ta celoten proces, da je videti kot na sliki <a href="/book/sl/v2/ch00/rbdiag_i">Končna zgodovina potrditev</a>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -d client $ git branch -d server</code></pre> </div> </div> <div id="rbdiag_i" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/interesting-rebase-5.png" alt="Končna zgodovina potrditev"> </div> <div class="title">Slika 43. Končna zgodovina potrditev</div> </div> </div> <div class="sect3"> <h3 id="_rebase_peril">Nevarnosti ponovnega baziranja</h3> <div class="paragraph"> <p> Ah, vendar blagoslova ponovnega baziranja ni brez njegovih slabih strani, ki jih lahko povzamemo v eni vrstici:</p> </div> <div class="paragraph"> <p><strong>Ne bazirajte ponovno tistih potrditev, ki obstajajo izven vašega repozitorija in na katerih so ljudje morda osnovali delo.</strong></p> </div> <div class="paragraph"> <p>Če sledite tem smernicam, bo v redu. Če ne, vas bodo ljudje sovražili in zaničevani boste s strani prijateljev in družine.</p> </div> <div class="paragraph"> <p>Ko ponovno bazirate, opuščate obstoječe potrditve in ustvarjate nove, ki so podobne vendar drugačne. Če nekam potisnete potrditve in jih drugi povlečejo ter bazirajo svoje delo na njih, nato pa vi prepišete te potrditve z <code>git rebase</code> in jih ponovno potisnete, bodo vaši sodelavci morali narediti ponovno združevanje njihovega dela in nastala bo zmešnjava, ko boste poskusili povleči njihovo delo nazaj v vaše.</p> </div> <div class="paragraph"> <p>Poglejmo primer, kako lahko baziranje dela, ki ste ga naredili javno, povzroča probleme. Predpostavimo, da klonirate iz osrednjega strežnika in nato iz tega naredite nekaj dela. Vaša zgodovina potrditev je videti takole:</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/perils-of-rebasing-1.png" alt="Klonirajte repozitorij in bazirajte nekaj dela na njem"> </div> <div class="title">Slika 44. Klonirajte repozitorij in bazirajte nekaj dela na njem</div> </div> <div class="paragraph"> <p>Sedaj, nekdo drug naredi delo, ki vključuje združitev, in potisne to delo na osrednji strežnik. Prenesete in združite novo oddaljeno vejo v svoje delo, kar naredi, da vaša zgodovina izgleda nekakako takole:</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/perils-of-rebasing-2.png" alt="Prenesite več potrditev in jih združite v svoje delo"> </div> <div class="title">Slika 45. Prenesite več potrditev in jih združite v svoje delo</div> </div> <div class="paragraph"> <p>V nadaljevanju se oseba, ki je potisnila združeno delo, odloči iti nazaj in namesto tega ponovno bazira svoje delo; naredi <code>git push --force</code>, da prepiše zgodovino na strežniku. Nato prenesete iz tega strežnika in dobite nove potrditve.</p> </div> <div id="_pre_merge_rebase_work" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/perils-of-rebasing-3.png" alt="Nekdo potisne ponovno bazirane potrditve in opusti potrditve, na katerih ste vi osnovali delo"> </div> <div class="title">Slika 46. Nekdo potisne ponovno bazirane potrditve in opusti potrditve, na katerih ste vi osnovali delo</div> </div> <div class="paragraph"> <p>Sedaj ste oboji v škripcih. Če naredite <code>git pull</code>, boste ustvarili potrditve združitve, ki vključujejo obe vrstici zgodovine, in vaš repozitorij bo videti takole:</p> </div> <div id="_merge_rebase_work" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/perils-of-rebasing-4.png" alt="Ponovno združite isto delo v novo potrditev združevanja"> </div> <div class="title">Slika 47. Ponovno združite isto delo v novo potrditev združevanja</div> </div> <div class="paragraph"> <p>Če poženete <code>git log</code>, ko je vaša zgodovina videti takole, boste videli dve potrditvi, ki imata istega avtorja, datum in sporočilo, kar bo zmedeno. Nadalje, če potisnete to zgodovino nazaj na strežnik, boste ponovno uvedli vse te ponovno bazirane potrditve na osrednjem strežniku, kar lahko dalje zmede ljudi. Precej prepričano je domnevati, da drug razvijalec ne želi imeti <code>C4</code> in <code>C6</code> v zgodovini; to je razlog, zakaj sploh ponovno bazirati.</p> </div> </div> <div class="sect3"> <h3 id="_rebase_rebase">Ponovno bazirajte, ko ponovno bazirate</h3> <div class="paragraph"> <p>Če <strong>se</strong> najdete v položaju, kot je ta, ima Git nekaj dodatne čarobnosti, ki vam lahko pomaga. Če nekdo v vaši ekipi potisne spremembe, ki prepišejo delo, na katerem ste osnovali svoje delo, je vaš izziv ugotoviti, kaj je vaše in kaj so prepisali drugi.</p> </div> <div class="paragraph"> <p>Izkaže se, da poleg kontrolne vsote SHA-1 potrditve, Git preračuna tudi kontrolno vsoto, ki je osnovana samo kot programski popravek uveden v potrditvi. To se imenuje »patch-id«.</p> </div> <div class="paragraph"> <p>Če povlečete delo, ki je bilo prepisano in osnovano na vrhu nove potrditve vašega partnerja, lahko Git tudi pogostokrat uspešno ugotovi, kaj je unikatno vaše, in to uporabi nazaj na vrhu nove veje.</p> </div> <div class="paragraph"> <p>Na primer, če v prejšnjem scenariju, namesto da delamo združevanje, ko smo na primeru iz slike <a href="/book/sl/v2/ch00/_pre_merge_rebase_work">Nekdo potisne ponovno bazirane potrditve in opusti potrditve, na katerih ste vi osnovali delo</a>, poženemo <code>git rebase teamone/master</code>, bo Git:</p> </div> <div class="ulist"> <ul> <li> <p>Določil, katero delo je unikatno za vašo vejo (<code>C2</code>, <code>C3</code>, <code>C4</code>, <code>C6</code>, <code>C7</code>)</p> </li> <li> <p>Določil, katere niso potrditve združevanja (<code>C2</code>, <code>C3</code>, <code>C4</code>)</p> </li> <li> <p>Določil, katere niso bile prepisane v ciljni veji (samo <code>C2</code> in <code>C3</code>, saj je <code>C4</code> enak programski popravek kot <code>C4'</code>)</p> </li> <li> <p>Uporabil te potrditve na vrhu <code>teamone/master</code></p> </li> </ul> </div> <div class="paragraph"> <p>Torej namesto rezultata, ki ga vidimo na sliki <a href="/book/sl/v2/ch00/_merge_rebase_work">Ponovno združite isto delo v novo potrditev združevanja</a>, bi dobili nekaj bolj takega, kot je na sliki <a href="/book/sl/v2/ch00/_rebase_rebase_work">Ponovno baziranje na osnovi prisilno potisnjenega ponovno baziranega dela</a>.</p> </div> <div id="_rebase_rebase_work" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/perils-of-rebasing-5.png" alt="Ponovno baziranje na osnovi prisilno potisnjenega ponovno baziranega dela"> </div> <div class="title">Slika 48. Ponovno baziranje na osnovi prisilno potisnjenega ponovno baziranega dela</div> </div> <div class="paragraph"> <p>To deluje zgolj, če sta <code>C4</code> in <code>C4'</code>, ki ju je naredil vaš partner skoraj točno enaka popravka. Drugače ponovno baziranje ne bo zmožno vedeti, da je duplikat in bo dodalo drug <code>C4</code> podoben programski popravek (ki ga verjetno ne bo uspelo uporabiti na gladek način, saj bi spremembe že bile vsaj nekako tam).</p> </div> <div class="paragraph"> <p>To lahko tudi poenostavite s pogonom <code>git pull --rebase</code> namesto običajnega <code>git pull</code>. Lahko pa to naredite ročno z <code>git fetch</code>, kateremu v tem primeru sledi <code>git rebase teamone/master</code>.</p> </div> <div class="paragraph"> <p>Če uporabljate <code>git pull</code> in želite privzeto narediti <code>--rebase</code>, lahko nastavite <code>pull.rebase</code> nastavitveno vrednost z nečim, kot je <code>git config --global pull.rebase true</code>.</p> </div> <div class="paragraph"> <p>Če ponovno bazirate samo potrditve, ki niso nikoli zapustile vaše naprave, bo v redu. Če ponovno bazirate potrditve, ki so bile potisnjene, vendar ni nihče osnoval dela na njih, bo tudi v redu. Če ponovno bazirate potrditve, ki so bile že javno potisnjene in so na teh potrditvah ljudje lahko osnovali delo, potem ste lahko v frustrirajočih težavah in prezirate člane svoje ekipe.</p> </div> <div class="paragraph"> <p>Če se vam ali partnerju zdi na neki točki to potrebno, zagotovite, da vsi vejo, da morajo pognati <code>git pull --rebase</code>, tako da poskusijo nekoliko bolj poenostaviti problem, ko se ta zgodi.</p> </div> </div> <div class="sect3"> <h3 id="_ponovno_baziranje_v_primerjavi_z_združevanjem">Ponovno baziranje v primerjavi z združevanjem</h3> <div class="paragraph"> <p> Sedaj, ko ste videli ponovno baziranje in združevanje v delovanju, se lahko sprašujete, kaj je boljše. Preden lahko to odgovorimo, pojdimo korak nazaj in spregovorimo o tem, kaj pomeni zgodovina.</p> </div> <div class="paragraph"> <p>Eno stališče tega je, da je zgodovina potrditev vašega repozitorija <strong>posnetek, kaj se je dejansko zgodilo.</strong> Je zgodovinski dokument, vreden svojega lastnega prav in ne bi smel biti ponarejen. Iz tega zornega kota je spreminjanje zgodovine potrditev skoraj bogokletno; namreč <em>lažete</em>, kaj se je dejansko zgodilo. Torej, kaj če obstaja grda serija potrditev združevanj? Tako se je zgodilo in repozitorij bi moral to ohraniti zanamcem.</p> </div> <div class="paragraph"> <p>Nasprotno stališče je, da je zgodovina potrditev <strong>zgodba, kako je bil vaš projekt narejen.</strong> Prvega osnutka knjige tudi ne bi objavili, torej zakaj bi pokazali svoje nepopolno delo? Ko delate na projektu, morda potrebujete zapis vseh svojih napačnih korakov in slepih ulic, vendar ko je čas, da pokažete svoje delo svetu, morda želite povedati bolj koherentno zgodbo o tem, kako priti od A do B. Ljudje v tej skupini uporabljajo orodja, kot sta <code>rebase</code> in <code>filter-branch</code>, da prepišejo svoje potrditve, preden se združijo v glavno vejo. Uporabljajo orodja, kot sta <code>rebase</code> in <code>filter-branch</code>, da povedo zgodbo na način, ki je najboljši za prihodnje bralce.</p> </div> <div class="paragraph"> <p>Zdaj, glede vprašanja, ali je boljše združevanje ali ponovno baziranje: upajmo, da boste spoznali, da to ni tako preprosto. Git je zmogljivo orodje in omogoča veliko stvari v zvezi z vašo zgodovino, vendar je vsaka ekipa in vsak projekt drugačen. Ko zdaj veste, kako delujeta oba načina, je odvisno od vas, da se odločite, kateri je najboljši za vaš poseben položaj.</p> </div> <div class="paragraph"> <p>Lahko dobite najboljše iz obeh svetov: pred objavo spremenite lokalne spremembe, da očistite svoje delo, vendar nikoli ne prepišite ničesar, kar ste že objavili drugje.</p> </div> </div> <div id="nav"><a href="/book/sl/v2/Veje-Git-Oddaljene-veje">prev</a> | <a href="/book/sl/v2/Veje-Git-Povzetek">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>