CINXE.COM
Git - Izbira revizije
<!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 - Izbira revizije</title> <link href="/favicon.ico" rel='shortcut icon' type='image/x-icon'> <link rel="stylesheet" href="/application.min.css"> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> </head> <body id="documentation"> <div class="inner"> <header> <a href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" /></a> <span id="tagline"></span> <script type="text/javascript"> const taglines = [ "fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized" ]; var tagline = taglines[Math.floor(Math.random() * taglines.length)]; document.getElementById('tagline').innerHTML = '--' + tagline; </script> <form id="search" action="/search/results"> <input id="search-text" name="search" placeholder="Type / to search entire site…" autocomplete="off" type="text" /> </form> <div id="search-results"></div> </header> </div> <div class="inner"> <div id="content-wrapper"> <div tabindex="1" class="sidebar-btn"></div> <aside class="sidebar" id="sidebar"> <nav> <ul> <li> <a href="/about">About</a> <ul> </ul> </li> <li> <a href="/doc" class="active">Documentation</a> <ul class="expanded"> <li> <a href="/docs">Reference</a> </li> <li> <a href="/book" class="active">Book</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/doc/ext">External Links</a> </li> </ul> </li> <li> <a href="/downloads">Downloads</a> <ul > <li> <a href="/downloads/guis">GUI Clients</a> </li> <li> <a href="/downloads/logos">Logos</a> </li> </ul> </li> <li> <a href="/community">Community</a> </li> </ul> <hr class="sidebar"> <p> This book is available in <a href="/book/en/v2/Git-Tools-Revision-Selection">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Reviziya-Se%c3%a7imi">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg/v2/Git-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b8-Git-%d0%ba%d0%b0%d1%82%d0%be-%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Git-Tools-Revisions-Auswahl">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Herramientas-de-Git-Revisi%c3%b3n-por-selecci%c3%b3n">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Utilitaires-Git-S%c3%a9lection-des-versions">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja/v2/Git-%e3%81%ae%e3%81%95%e3%81%be%e3%81%96%e3%81%be%e3%81%aa%e3%83%84%e3%83%bc%e3%83%ab-%e3%83%aa%e3%83%93%e3%82%b8%e3%83%a7%e3%83%b3%e3%81%ae%e9%81%b8%e6%8a%9e">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%8f%84%ea%b5%ac-%eb%a6%ac%eb%b9%84%ec%a0%84-%ec%a1%b0%ed%9a%8c%ed%95%98%ea%b8%b0">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Git-Tools-Revisie-Selectie">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/%d0%98%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d1%8b-Git-%d0%92%d1%8b%d0%b1%d0%be%d1%80-%d1%80%d0%b5%d0%b2%d0%b8%d0%b7%d0%b8%d0%b8">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Orodja-Git-Izbira-revizije">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagpipili-ng-Rebisyon">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/%d0%86%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82%d0%b8-Git-%d0%92%d0%b8%d0%b1%d1%96%d1%80-%d1%80%d0%b5%d0%b2%d1%96%d0%b7%d1%96%d0%b9">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%b7%a5%e5%85%b7-%e9%80%89%e6%8b%a9%e4%bf%ae%e8%ae%a2%e7%89%88%e6%9c%ac">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/Git-Tools-Revision-Selection">Čeština</a>,</td></tr> <tr><td><a href="/book/mk/v2/Git-%d0%90%d0%bb%d0%b0%d1%82%d0%ba%d0%b8-Revision-Selection">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Narz%c4%99dzia-Gita-Wskazywanie-rewizji">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%93%d0%b8%d1%82-%d0%b0%d0%bb%d0%b0%d1%82%d0%b8-%d0%98%d0%b7%d0%b1%d0%be%d1%80-%d1%80%d0%b5%d0%b2%d0%b8%d0%b7%d0%b8%d1%98%d0%b0">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-Tools-Revision-Selection">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/Git-%e5%b7%a5%e5%85%b7-Revision-Selection">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Tools-Revision-Selection">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/Git-Tools-Revision-Selection" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Tools-Revision-Selection">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Tools-Revision-Selection">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Tools-Revision-Selection">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Git-Tools-Revision-Selection">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ferramentas-do-Git-Revision-Selection">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-Tools-Revision-Selection">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Ara%c3%a7lar%c4%b1-D%c3%bczeltme-Se%c3%a7imi">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">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" class="active">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>7.1 Orodja Git - Izbira revizije</h1> <div> <p>Do sedaj ste se naučili večine vsakodnevnih ukazov in potekov dela, ki jih potrebujete za upravljanje ali vzdrževanje repozitorija Git za svoj nadzor izvorne kode. Opravili ste osnovna opravila sledenja in potrjevanja datotek ter oprti ste z zmogljivostjo področja priprave in enostavnega tematskega razvejanja in združevanja.</p><p>Sedaj boste raziskali vrsto zelo zmogljivih stvari, ki jih lahko naredi Git, in lahko jih morda ne nujno uporabljali vsak dan, vendar jih boste morda kdaj potrebovali.</p> <h2 id="_revision_selection">Izbira revizije</h2> <div class="paragraph"> <p>Git vam omogoča, da se sklicujete na eno samo potrditev, niz potrditev, ali obseg potrditev na več načinov. Niso nujno očitni, vendar je koristno vedeti zanje.</p> </div> <div class="sect3"> <h3 id="_posamezne_revizije">Posamezne revizije</h3> <div class="paragraph"> <p>Očitno lahko navedete katerokoli posamezno potrditev po celotni 40-znakovni zgoščeni vrednosti SHA-1, vendar obstajajo načini, ki so bolj prijazni do uporabnikov. V tem razdelku so opisani različni načini, kako se lahko sklicujete na katerokoli potrditev.</p> </div> </div> <div class="sect3"> <h3 id="_kratek_sha_1">Kratek SHA-1</h3> <div class="paragraph"> <p>Git je dovolj pameten, da ugotovi, katero potrditev mislite, če navedete prvih nekaj znakov zgoščene vrednosti SHA-1, če je ta delna zgoščena vrednost dolga vsaj štiri znake in je nedvoumna; to pomeni, da noben drug objekt v objektni bazi podatkov ne more imeti zgoščene vrednosti, ki se začne z enako predpono.</p> </div> <div class="paragraph"> <p>Na primer, da bi preučili določeno potrditev, kjer veste, da ste dodali določeno funkcionalnost, bi najprej pognali ukaz <code>git log</code>, da bi našli to potrditev:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git log commit 734713bc047d87bf7eac9674765ae793478c50d3 Author: Scott Chacon <schacon@gmail.com> Date: Fri Jan 2 18:32:33 2009 -0800 Fix refs handling, add gc auto, update tests commit d921970aadf03b3cf0e71becdaab3147ba71cdef Merge: 1c002dd... 35cfb2b... Author: Scott Chacon <schacon@gmail.com> Date: Thu Dec 11 15:08:43 2008 -0800 Merge commit 'phedders/rdocs' commit 1c002dd4b536e7479fe34593e72e6c6c1819e53b Author: Scott Chacon <schacon@gmail.com> Date: Thu Dec 11 14:58:32 2008 -0800 Add some blame and merge stuff</code></pre> </div> </div> <div class="paragraph"> <p>V tem primeru recimo, da vas zanima potrditev, katere zgoščena vrednost se začne z <code>1c002dd…</code>. To potrditev lahko pregledate z uporabo katere koli od naslednjih različic <code>git show</code> (ob predpostavki, da so krajše različice nedvoumne):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show 1c002dd4b536e7479fe34593e72e6c6c1819e53b $ git show 1c002dd4b536e7479f $ git show 1c002d</code></pre> </div> </div> <div class="paragraph"> <p>Git lahko ugotovi kratko in edinstveno okrajšavo za vaše vrednosti SHA-1. Če podate <code>--abbrev-commit</code> ukazu <code>git log</code>, bo izhod uporabljal krajše vrednosti, vendar jih bo še vedno obdržal edinstvene; privzeto uporablja sedem znakov, vendar jih bo podaljšal, če je to potrebno, da ohrani edinstvenost SHA-1:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log --abbrev-commit --pretty=oneline ca82a6d Change the version number 085bb3b Remove unnecessary test code a11bef0 Initial commit</code></pre> </div> </div> <div class="paragraph"> <p>Na splošno je osem do deset znakov več kot dovolj, da so edinstveni v okviru projekta. Na primer, do februarja 2019 je imelo jedro Linux (ki je precej obsežen projekt) več kot 875.000 potrditev in skoraj sedem milijonov objektov v svoji objektni podatkovni bazi, pri čemer ni dveh objektov, ki bi imela enaki vrednosti SHA-1 v prvih 12 znakih.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Opomba</div> </td> <td class="content"> <div class="title">KRATKA OPOMBA O SHA-1</div> <div class="paragraph"> <p>Veliko ljudi na neki točki začne skrbeti, da bodo zaradi naključnih okoliščin imeli v svojem repozitoriju dva <em>različna</em> objekta, ki se preslikata v enako zgoščeno vrednost SHA-1. Kaj potem?</p> </div> <div class="paragraph"> <p>Če naključno ustvarite objekt, ki se preslika v enako zgoščeno vrednost SHA-1 kot obstoječi objekt v vašem repozitoriju, bo Git v vaši bazi podatkov Git videl že obstoječi objekt, predvideval, da je bil že napisan in ga preprosto ponovno uporabil. Če poskušate ta objekt kadarkoli znova izpisati, boste vedno dobili podatke prvega objekta.</p> </div> <div class="paragraph"> <p>Vendar morate biti pozorni na to, kako izredno malo verjeten je ta scenarij. Odtis SHA-1 je sestavljen iz 20 bajtov oziroma 160 bitov. Število naključno zgoščenih objektov, ki jih potrebujete, da zagotovite 50-odstotno verjetnost enega samega trčenja, je približno 2<sup>80</sup> (formula za določanje verjetnosti trčenja je <code>p = (n(n-1)/2) * (1/2^160)</code>). 2<sup>80</sup> je 1,2 x 10<sup>24</sup> ali 1 milijon milijard milijard. To je 1.200-krat večje od števila zrn peska na Zemlji.</p> </div> <div class="paragraph"> <p>Tukaj je primer, da si predstavljate, kaj bi bilo potrebno, da bi prišlo do trčenja SHA-1. Če bi vseh 6,5 milijarde ljudi na Zemlji programiralo in vsako sekundo vsak od njih ustvaril kodo, ki bi bila enakovredna celotni zgodovini jedra Linuxa (6,5 milijona objektov Git), in jo potisnilo v en ogromen repozitorij Git, bi trajalo približno 2 leti, da bi se v tem repozitoriju nahajalo dovolj objektov za 50-odstotno verjetnost enega samega trčenja objekta SHA-1. Zato je organsko trčenje SHA-1 manj verjetno, kot da bi vsakega člana vaše programerske ekipe napadli in ubili volkovi v nepovezanih incidentih iste noči.</p> </div> <div class="paragraph"> <p>Če namenite več tisoč dolarjev računalniške moči, je mogoče sintetizirati dve datoteki z enako zgoščeno vrednostjo, kar je bilo dokazano na spletnem mestu <a href="https://shattered.io/" class="bare" target="_blank" rel="noopener">https://shattered.io/</a> februarja 2017. Git se premika v smeri uporabe SHA256 kot privzetega algoritma za zgoščene vrednosti, kar je veliko bolj odporno proti napadom z zrušitvijo, in ima kodo, ki pomaga omiliti ta napad (čeprav ga ne more popolnoma odpraviti).</p> </div> </td> </tr> </table> </div> </div> <div class="sect3"> <h3 id="_branch_references">Reference vej</h3> <div class="paragraph"> <p>Enostaven način za sklicevanje na določeno potrditev je, če je ta potrditev na vrhu veje; v tem primeru lahko v katerem koli ukazu Git, ki pričakuje sklicevanje na potrditev, uporabite ime veje. Na primer, če želite preučiti zadnji objekt potrditve v veji, sta naslednja ukaza enakovredna, če privzamemo, da se veja <code>topic1</code> sklicuje na potrditev <code>ca82a6d…</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show ca82a6dff817ec66f44342007202690a93763949 $ git show topic1</code></pre> </div> </div> <div class="paragraph"> <p>Če želite videti, na kateri specifični SHA-1 se nanaša veja, ali če želite videti, kaj kateri od teh primerov pomeni v smislu SHA-1, lahko uporabite Gitovo orodje napeljave imenovano <code>rev-parse</code>. Za več informacij o orodjih napeljave si oglejte poglavje <a href="/book/sl/v2/ch00/ch10-git-internals">Notranjost Gita</a>; v osnovi obstaja orodje <code>rev-parse</code> za nižje nivojske operacije in ni zasnovano za vsakodnevno uporabo. Vendar pa je včasih lahko koristno, ko želite videti, kaj se v resnici dogaja. Tukaj lahko poženete <code>rev-parse</code> na svoji veji.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rev-parse topic1 ca82a6dff817ec66f44342007202690a93763949</code></pre> </div> </div> </div> <div class="sect3"> <h3 id="_git_reflog">Kratka imena reflog</h3> <div class="paragraph"> <p>Ena od stvari, ki jih Git počne v ozadju med vašim delom, je ohranjanje »refloga« — dnevnika, kjer so shranjene informacije o tem, kje so bili vaš HEAD in reference vej v zadnjih nekaj mesecih.</p> </div> <div class="paragraph"> <p>Svoj reflog lahko vidite z uporabo <code>git reflog</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git reflog 734713b HEAD@{0}: commit: Fix refs handling, add gc auto, update tests d921970 HEAD@{1}: merge phedders/rdocs: Merge made by the 'recursive' strategy. 1c002dd HEAD@{2}: commit: Add some blame and merge stuff 1c36188 HEAD@{3}: rebase -i (squash): updating HEAD 95df984 HEAD@{4}: commit: # This is a combination of two commits. 1c36188 HEAD@{5}: rebase -i (squash): updating HEAD 7e05da5 HEAD@{6}: rebase -i (pick): updating HEAD</code></pre> </div> </div> <div class="paragraph"> <p>Vsakič, ko se iz kakršnega koli razloga vaš vrh veje posodobi, Git shrani to informacijo v začasno zgodovino. Svoje podatke refloga lahko uporabite tudi za sklicevanje na starejše potrditve. Na primer, če želite videti peto predhodno vrednost HEAD vašega repozitorija, lahko uporabite referenco <code>@{5}</code>, ki jo vidite v izpisu refloga:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show HEAD@{5}</code></pre> </div> </div> <div class="paragraph"> <p>To sintakso lahko uporabite tudi za ogled, kje je bila veja pred določenim časom. Na primer, da bi videli, kje je bila vaša veja <code>master</code> včeraj, lahko vnesete:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show master@{yesterday}</code></pre> </div> </div> <div class="paragraph"> <p>To bi vam pokazalo, kje je bil vrh vaše veje <code>master</code> včeraj. Ta tehnika deluje samo za podatke, ki so še vedno v vašem reflogu, zato je ne morete uporabiti za iskanje potrditev, starejših od nekaj mesecev.</p> </div> <div class="paragraph"> <p>Če želite videti informacije refloga oblikovane kot izpis <code>git log</code>, lahko zaženete <code>git log -g</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git log -g master commit 734713bc047d87bf7eac9674765ae793478c50d3 Reflog: master@{0} (Scott Chacon <schacon@gmail.com>) Reflog message: commit: Fix refs handling, add gc auto, update tests Author: Scott Chacon <schacon@gmail.com> Date: Fri Jan 2 18:32:33 2009 -0800 Fix refs handling, add gc auto, update tests commit d921970aadf03b3cf0e71becdaab3147ba71cdef Reflog: master@{1} (Scott Chacon <schacon@gmail.com>) Reflog message: merge phedders/rdocs: Merge made by recursive. Author: Scott Chacon <schacon@gmail.com> Date: Thu Dec 11 15:08:43 2008 -0800 Merge commit 'phedders/rdocs'</code></pre> </div> </div> <div class="paragraph"> <p>Pomembno je opozoriti, da so informacije o reflogu izključno lokalne — gre le za dnevnik tega, kar ste <em>vi</em> storili v <em>vašem</em> repozitoriju. Reference ne bodo enake na kopiji repozitorija nekoga drugega; tudi takoj po prvotnem kloniranju repozitorija boste imeli prazen reflog, saj se v vašem repozitoriju še ni zgodila nobena dejavnost. Če zaženete <code>git show HEAD@{2.months.ago}</code>, vam bo ujemajoča se potrditev prikazana samo, če ste projekt klonirali vsaj pred dvema mesecema — če ste ga klonirali še bolj nedavno, boste videli samo svojo prvo lokalno potrditev.</p> </div> <div class="admonitionblock tip"> <table> <tr> <td class="icon"> <div class="title">Namig</div> </td> <td class="content"> <div class="title">Predstavljajte si reflog kot Gitovo različico zgodovine lupin</div> <div class="paragraph"> <p>Če imate ozadje z Unix ali Linux, lahko reflog v Gitu razumete kot različico zgodovine ukazov lupine, kar poudarja, da je vse v njej pomembno samo za vas in vašo »sejo« in nima nobene zveze z drugimi, ki morda delajo na istem računalniku.</p> </div> </td> </tr> </table> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Opomba</div> </td> <td class="content"> <div class="title">Ubežanje oklepajev v PowerShellu</div> <div class="paragraph"> <p>Pri uporabi PowerShella so zaviti oklepaji, kot sta <code>{</code> in <code>}</code>, posebni znaki in jih je treba ubežati. Ubežite jih lahko z levo črtico ` ali pa daste referenco na potrditev v narekovaje:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show HEAD@{0} # will NOT work $ git show HEAD@`{0`} # OK $ git show "HEAD@{0}" # OK</code></pre> </div> </div> </td> </tr> </table> </div> </div> <div class="sect3"> <h3 id="_reference_prednikov">Reference prednikov</h3> <div class="paragraph"> <p>Drugi glavni način za določitev potrditve je prek njenega prednika. Če na koncu reference dodate <code>^</code> (karet), Git razume, da to pomeni nadrejeno te potrditve. Recimo, da pogledate zgodovino svojega projekta:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log --pretty=format:'%h %s' --graph * 734713b Fix refs handling, add gc auto, update tests * d921970 Merge commit 'phedders/rdocs' |\ | * 35cfb2b Some rdoc changes * | 1c002dd Add some blame and merge stuff |/ * 1c36188 Ignore *.gem * 9b29157 Add open3_detach to gemspec file list</code></pre> </div> </div> <div class="paragraph"> <p>Nato lahko vidite prejšnjo potrditev z določitvijo <code>HEAD^</code>, kar pomeni »nadrejena od HEAD«:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git show HEAD^ commit d921970aadf03b3cf0e71becdaab3147ba71cdef Merge: 1c002dd... 35cfb2b... Author: Scott Chacon <schacon@gmail.com> Date: Thu Dec 11 15:08:43 2008 -0800 Merge commit 'phedders/rdocs'</code></pre> </div> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Opomba</div> </td> <td class="content"> <div class="title">Ubežanje znaka karet na sistemu Windows</div> <div class="paragraph"> <p>Na sistemu Windows se <code>^</code> v <code>cmd.exe</code> obravnava kot poseben znak in ga je treba obravnavati drugače. Lahko ga podvojite ali pa postavite referenco potrditve v narekovaje:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show HEAD^ # will NOT work on Windows $ git show HEAD^^ # OK $ git show "HEAD^" # OK</code></pre> </div> </div> </td> </tr> </table> </div> <div class="paragraph"> <p>Za <code>^</code> lahko navedete tudi številko, da identificirate, <em>katero</em> nadrejeno želite; na primer, <code>d921970^2</code> pomeni »druga nadrejena d921970«. Ta sintaksa je uporabna le za potrditve združitev, ki imajo več kot eno nadrejeno — prva nadrejena od potrditve združitve je iz veje, na kateri ste bili, ko ste opravili združitev (pogosto <code>master</code>), medtem ko je druga nadrejena od potrditve združitve iz veje, ki je bila združena (recimo <code>topic</code>):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git show d921970^ commit 1c002dd4b536e7479fe34593e72e6c6c1819e53b Author: Scott Chacon <schacon@gmail.com> Date: Thu Dec 11 14:58:32 2008 -0800 Add some blame and merge stuff $ git show d921970^2 commit 35cfb2b795a55793d7cc56a6cc2060b4bb732548 Author: Paul Hedderly <paul+git@mjr.org> Date: Wed Dec 10 22:22:03 2008 +0000 Some rdoc changes</code></pre> </div> </div> <div class="paragraph"> <p>Druga glavna specifikacija prednikov je <code>~</code> (vijuga). Ta se prav tako nanaša na prvo nadrejeno, zato sta <code>HEAD~</code> in <code>HEAD^</code> enakovredna. Razlika postane očitna, ko navedete število. <code>HEAD~2</code> pomeni »prvo nadrejeno od prve nadrejene« — skozi prve nadrejene gre tolikokrat, kolikor je navedeno število. Na primer, v prej omenjeni zgodovini bi bil <code>HEAD~3</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git show HEAD~3 commit 1c3618887afb5fbcbea25b7c013f4e2114448b8d Author: Tom Preston-Werner <tom@mojombo.com> Date: Fri Nov 7 13:47:59 2008 -0500 Ignore *.gem</code></pre> </div> </div> <div class="paragraph"> <p>To se lahko napiše tudi kot <code>HEAD~~~</code>, kar je ponovno prva nadrejena prve nadrejene od prve nadrejene.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git show HEAD~~~ commit 1c3618887afb5fbcbea25b7c013f4e2114448b8d Author: Tom Preston-Werner <tom@mojombo.com> Date: Fri Nov 7 13:47:59 2008 -0500 Ignore *.gem</code></pre> </div> </div> <div class="paragraph"> <p>Te sintakse lahko tudi kombinirate — dobite lahko drugo nadrejeno od prejšnje reference (ob predpostavki, da je šlo za potrditev združitve) z uporabo <code>HEAD~3^2</code> itn.</p> </div> </div> <div class="sect3"> <h3 id="_commit_ranges">Obsegi potrditev</h3> <div class="paragraph"> <p>Zdaj, ko lahko navedete posamezne potrditve, poglejmo, kako določiti obsege potrditev. To je še posebej koristno za upravljanje vej — če imate veliko vej, lahko z uporabo obsega potrditev odgovorite na vprašanja, kot so, »Kakšno delo je na tej veji, ki ga še nisem združil v svojo glavno vejo?«</p> </div> <div class="sect4"> <h4 id="_dvojna_pika">Dvojna pika</h4> <div class="paragraph"> <p>Najpogostejša specifikacija obsega je sintaksa z dvema pikama. To Gitu omogoča, da določi obseg potrditev, ki so dosegljive iz ene potrditve, a niso dosegljive iz druge. Na primer, recimo, da imate zgodovino potrditev, ki je videti kot slika <a href="/book/sl/v2/ch00/double_dot">Primer zgodovine za izbiro obsega</a>.</p> </div> <div id="double_dot" class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/double-dot.png" alt="Primer zgodovine za izbiro obsega"> </div> <div class="title">Slika 136. Primer zgodovine za izbiro obsega</div> </div> <div class="paragraph"> <p>Recimo, da želite videti, kaj je v vaši veji <code>experiment</code>, ki še ni združena v vašo vejo <code>master</code>. Z Gitom lahko zaprosite, da vam prikaže dnevnik samo teh potrditev z <code>master..experiment</code> — to pomeni »vse potrditve, ki so dostopne iz <code>experiment</code> in niso dostopne iz <code>master</code>«. V teh primerih sta zaradi kratkosti in jasnosti uporabljeni črki objektov potrditev iz diagrama namesto dejanskega zapisa dnevnika v vrstnem redu, kot bi se prikazali:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log master..experiment D C</code></pre> </div> </div> <div class="paragraph"> <p>Če pa želite videti nasprotno — vse potrditve v veji <code>master</code>, ki niso v veji <code>experiment</code>, lahko imena vej obrnete. <code>experiment..master</code> vam pokaže vse, kar je v <code>master</code> in ni dosegljivo iz veje <code>experiment</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log experiment..master F E</code></pre> </div> </div> <div class="paragraph"> <p>To je uporabno, če želite imeti vejo <code>experiment</code> posodobljeno in si ogledati, kaj boste združili. Še en pogost način uporabe te sintakse je ogled tega, kar boste potisnili na oddaljeni strežnik:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log origin/master..HEAD</code></pre> </div> </div> <div class="paragraph"> <p>Ta ukaz vam prikaže vse potrditve na trenutni veji, ki niso na veji <code>master</code> vašega oddaljenega repozitorija <code>origin</code>. Če zaženete <code>git push</code> in vaša trenutna veja sledi <code>origin/master</code>, bodo potrditve, navedene iz <code>git log origin/master..HEAD</code>, potrditve, ki bodo prenesene na strežnik. Eno stran sintakse lahko tudi izpustite, da Git uporabi <code>HEAD</code>. Na primer, dobite lahko enake rezultate kot v prejšnjem primeru, tako da vnesete <code>git log origin/master..</code> — Git nadomesti <code>HEAD</code>, če ena stran manjka.</p> </div> </div> <div class="sect4"> <h4 id="_več_točk">Več točk</h4> <div class="paragraph"> <p>Sintaksa z dvojno piko (angl. <em>double-dot</em>) je uporabna kot bližnjica, vendar morda želite navesti več kot dve veji, da določite svojo revizijo, na primer, videti želite, katera izmed več vej je vsebovala zadnje potrditve, ki še niso vključene v vašo trenutno vejo. Git vam to omogoča s pomočjo znaka <code>^</code> ali <code>--not</code> pred katerim koli referenčnim naslovom, od katerega naprej ne želite videti dosegljivih sprememb. Tako so naslednji trije ukazi enakovredni:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log refA..refB $ git log ^refA refB $ git log refB --not refA</code></pre> </div> </div> <div class="paragraph"> <p>To je dobro, saj s to sintakso lahko v svojem poizvedovanju določite več kot dva sklica, kar ni mogoče z dvojno piko. Na primer, če želite videti vse potrditve, do katerih je mogoče dostopati iz <code>refA</code> ali <code>refB</code>, vendar ne iz <code>refC</code>, lahko uporabite katero koli od teh možnosti:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log refA refB ^refC $ git log refA refB --not refC</code></pre> </div> </div> <div class="paragraph"> <p>To je zelo zmogljiv sistem za poizvedovanje v zgodovini revizij, ki vam bo pomagal ugotoviti, kaj je v vaših vejah.</p> </div> </div> <div class="sect4"> <h4 id="_triple_dot">Trojna pika</h4> <div class="paragraph"> <p>Zadnja glavna sintaksa za izbiro obsega je trojna pika, ki določa vse potrditve, do katerih je mogoče priti <em>bodisi</em> z eno ali drugo referenco, ne pa z obema hkrati. Oglejmo si primer zgodovine potrditev na sliki <a href="/book/sl/v2/ch00/double_dot">Primer zgodovine za izbiro obsega</a>. Če želite videti, kaj je v <code>master</code> ali <code>experiment</code> vendar brez skupnih referenc, lahko poženete:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log master...experiment F E D C</code></pre> </div> </div> <div class="paragraph"> <p>Spet dobite običajen izpis <code>log</code>, vendar vam prikaže samo informacije o potrditvah za te štiri potrditve, ki se pojavijo v tradicionalnem zaporedju datumov potrditev.</p> </div> <div class="paragraph"> <p>Pogost preklop, ki se uporablja skupaj z ukazom <code>log</code> v tem primeru, je <code>--left-right</code>, ki vam pokaže, na kateri strani obsega je posamezna potrditev. To pomaga, da je izpis bolj uporaben:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log --left-right master...experiment < F < E > D > C</code></pre> </div> </div> <div class="paragraph"> <p>S temi orodji lahko veliko enostavneje sporočite Gitu, katero potrditev ali več njih želite pregledati.</p> </div> </div> </div> <div id="nav"><a href="/book/sl/v2/GitHub-Povzetek">prev</a> | <a href="/book/sl/v2/Orodja-Git-Interaktivno-pripravljanje">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>