CINXE.COM

Git - Osnove vej in združevanja

<!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 - Osnove vej in združevanja</title> <link href="/favicon.ico" rel='shortcut icon' type='image/x-icon'> <link rel="stylesheet" href="/application.min.css"> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> </head> <body id="documentation"> <div class="inner"> <header> <a href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" /></a> <span id="tagline"></span> <script type="text/javascript"> const taglines = [ "fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized" ]; var tagline = taglines[Math.floor(Math.random() * taglines.length)]; document.getElementById('tagline').innerHTML = '--' + tagline; </script> <form id="search" action="/search/results"> <input id="search-text" name="search" placeholder="Type / to search entire site…" autocomplete="off" type="text" /> </form> <div id="search-results"></div> </header> </div> <div class="inner"> <div id="content-wrapper"> <div tabindex="1" class="sidebar-btn"></div> <aside class="sidebar" id="sidebar"> <nav> <ul> <li> <a href="/about">About</a> <ul> </ul> </li> <li> <a href="/doc" class="active">Documentation</a> <ul class="expanded"> <li> <a href="/docs">Reference</a> </li> <li> <a href="/book" class="active">Book</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/doc/ext">External Links</a> </li> </ul> </li> <li> <a href="/downloads">Downloads</a> <ul > <li> <a href="/downloads/guis">GUI Clients</a> </li> <li> <a href="/downloads/logos">Logos</a> </li> </ul> </li> <li> <a href="/community">Community</a> </li> </ul> <hr class="sidebar"> <p> This book is available in <a href="/book/en/v2/Git-Branching-Basic-Branching-and-Merging">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git%e2%80%99d%c9%99-Branch-Sad%c9%99-Branching-v%c9%99-Birl%c9%99%c5%9fdirm%c9%99">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg/v2/%d0%9a%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5-%d0%b2-Git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%bd%d0%b0-%d0%ba%d0%bb%d0%be%d0%bd%d0%be%d0%b2%d0%b5%d1%82%d0%b5-%d0%ba%d0%be%d0%b4-%d0%b8-%d1%81%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5%d1%82%d0%be">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Git-Branching-Einfaches-Branching-und-Merging">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Ramificaciones-en-Git-Procedimientos-B%c3%a1sicos-para-Ramificar-y-Fusionar">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Les-branches-avec-Git-Branches-et-fusions%c2%a0:-les-bases">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja/v2/Git-%e3%81%ae%e3%83%96%e3%83%a9%e3%83%b3%e3%83%81%e6%a9%9f%e8%83%bd-%e3%83%96%e3%83%a9%e3%83%b3%e3%83%81%e3%81%a8%e3%83%9e%e3%83%bc%e3%82%b8%e3%81%ae%e5%9f%ba%e6%9c%ac">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%b8%8c%eb%9e%9c%ec%b9%98-%eb%b8%8c%eb%9e%9c%ec%b9%98%ec%99%80-Merge-%ec%9d%98-%ea%b8%b0%ec%b4%88">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Branchen-in-Git-Eenvoudig-branchen-en-mergen">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/%d0%92%d0%b5%d1%82%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b2-Git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d1%8b-%d0%b2%d0%b5%d1%82%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b8-%d1%81%d0%bb%d0%b8%d1%8f%d0%bd%d0%b8%d1%8f">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Veje-Git-Osnove-vej-in-zdru%c5%beevanja">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Pag-branch-ng-Git-Batayan-ng-Pag-branch-at-Pag-merge">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/%d0%93%d0%b0%d0%bb%d1%83%d0%b6%d0%b5%d0%bd%d0%bd%d1%8f-%d0%b2-git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b8-%d0%b3%d0%b0%d0%bb%d1%83%d0%b6%d0%b5%d0%bd%d0%bd%d1%8f-%d1%82%d0%b0-%d0%b7%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%bd%d1%8f">Українська</a>,</td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%88%86%e6%94%af-%e5%88%86%e6%94%af%e7%9a%84%e6%96%b0%e5%bb%ba%e4%b8%8e%e5%90%88%e5%b9%b6">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/V%c4%9btve-v-syst%c3%a9mu-Git-Z%c3%a1klady-v%c4%9btven%c3%ad-a-slu%c4%8dov%c3%a1n%c3%ad">Čeština</a>,</td></tr> <tr><td><a href="/book/mk/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b5%d1%9a%d0%b5-%d0%b2%d0%be-Git-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%bd%d0%be-%d1%80%d0%b0%d0%b7%d0%b3%d1%80%d0%b0%d0%bd%d1%83%d0%b2%d0%b0%d1%9a%d0%b5-%d0%b8-%d1%81%d0%bf%d0%be%d1%98%d1%83%d0%b2%d0%b0%d1%9a%d0%b5">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Podstawy-rozga%c5%82%c4%99ziania-i-scalania">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%93%d1%80%d0%b0%d0%bd%d0%b0%d1%9a%d0%b5-%d1%83-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d1%83-%d0%93%d0%b8%d1%82-%d0%9e%d1%81%d0%bd%d0%be%d0%b2%d0%b5-%d0%b3%d1%80%d0%b0%d0%bd%d0%b0%d1%9a%d0%b0-%d0%b8-%d1%81%d0%bf%d0%b0%d1%98%d0%b0%d1%9a%d0%b0">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-%d0%b4%d0%b0-%d1%82%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d0%bd%d0%b8%d1%88-%d0%a2%d0%b0%d1%80%d0%bc%d0%be%d2%9b%d0%bb%d0%b0%d0%bd%d0%b8%d1%88-%d0%b2%d0%b0-%d0%b1%d0%b8%d1%80%d0%bb%d0%b0%d1%88%d0%b8%d1%88-%d0%b0%d1%81%d0%be%d1%81%d0%bb%d0%b0%d1%80%d0%b8">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/%e4%bd%bf%e7%94%a8-Git-%e5%88%86%e6%94%af-%e5%88%86%e6%94%af%e5%92%8c%e5%90%88%e4%bd%b5%e7%9a%84%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Branching-Basic-Branching-and-Merging">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/%d8%b4%d8%a7%d8%ae%d9%87%e2%80%8c%d8%b3%d8%a7%d8%b2%db%8c-%d8%af%d8%b1-%da%af%db%8c%d8%aa-%d8%b4%d8%a7%d8%ae%d9%87%e2%80%8c%d8%b3%d8%a7%d8%b2%db%8c-%d9%88-%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%85%d9%82%d8%af%d9%85%d8%a7%d8%aa%db%8c" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Branching-Basic-Branching-and-Merging">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Branching-Basic-Branching-and-Merging">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Branching-Basic-Branching-and-Merging">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Branches-no-Git-O-b%c3%a1sico-de-Ramifica%c3%a7%c3%a3o-Branch-e-Mesclagem-Merge">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ramifica%c3%a7%c3%a3o-do-Git-Basic-Branching-and-Merging">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-f%c3%b6rgreningar-Grundl%c3%a4ggande-f%c3%b6rgrening-och-sammanslagning">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Dallar%c4%b1-K%c4%b1saca-Dalland%c4%b1rma-ve-Birle%c5%9ftirme-Temelleri">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/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" class="active">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">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.2 Veje Git - Osnove vej in združevanja</h1> <div> <h2 id="_osnove_vej_in_združevanja">Osnove vej in združevanja</h2> <div class="paragraph"> <p>Pojdimo skozi enostaven primer vej in združevanja s potekom dela, ki ga morda uporabljate v resničnem svetu. Sledili boste tem korakom:</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Naredite nekaj na spletni strani.</p> </li> <li> <p>Ustvarite vejo za novo uporabniško zgodbo (angl. <em>user story</em>), na kateri delate.</p> </li> <li> <p>Naredite nekaj na tej veji.</p> </li> </ol> </div> <div class="paragraph"> <p>V tej fazi boste prejeli klic, da je kritična neka druga težava in potrebujete hitri popravek. Naredili boste naslednje:</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Preklopite na svojo produkcijsko vejo.</p> </li> <li> <p>Ustvarite vejo, da dodate hitri popravek.</p> </li> <li> <p>Ko je testiran, združite vejo hitrega popravka in potisnete v produkcijo.</p> </li> <li> <p>Preklopite nazaj na svojo prvotno uporabniško zgodbo in nadaljujete delo.</p> </li> </ol> </div> <div class="sect3"> <h3 id="_basic_branching">Osnove vej</h3> <div class="paragraph"> <p> Za začetek recimo, da delate na svojem projektu in imate že nekaj potrditev na veji <code>master</code>.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-branching-1.png" alt="Enostavna zgodovina potrditev"> </div> <div class="title">Slika 18. Enostavna zgodovina potrditev</div> </div> <div class="paragraph"> <p>Odločili ste se, da boste delali na težavi #53 kateregakoli sistema sledenja težav, ki ga vaše podjetje uporablja. Da ustvarite vejo in istočasno nanjo preklopite, lahko poženete ukaz <code>git checkout</code> s stikalom <code>-b</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout -b iss53 Switched to a new branch "iss53"</code></pre> </div> </div> <div class="paragraph"> <p>To je bližnjica za:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch iss53 $ git checkout iss53</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-branching-2.png" alt="Ustvarjanje novega kazalca na vejo"> </div> <div class="title">Slika 19. Ustvarjanje novega kazalca na vejo</div> </div> <div class="paragraph"> <p>Delate na svoji spletni strani in naredite nekaj potrditev. S tem se veja <code>iss53</code> premakne naprej, ker ste jo izvlekli (to pomeni, da vaš <code>HEAD</code> kaže nanjo):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ vim index.html $ git commit -a -m 'Create new footer [issue 53]'</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-branching-3.png" alt="Veja `iss53` se je premaknila naprej z vašim delom"> </div> <div class="title">Slika 20. Veja <code>iss53</code> se je premaknila naprej z vašim delom</div> </div> <div class="paragraph"> <p>Sedaj dobite klic, da je težava s spletno stranjo in jo morate takoj popraviti. Z Gitom vam ni treba postaviti vašega popravka skupaj s spremembami <code>iss53</code>, ki ste jih naredili, in ni vam treba vložiti veliko napora v povračanje teh sprememb, preden lahko delate na nameščanju svojega popravka na to, kar je v produkciji. Vse kar morate narediti, je preklopiti nazaj na vašo vejo <code>master</code>.</p> </div> <div class="paragraph"> <p>Vendar preden to naredite, pomnite, da če ima vaš delovni direktorij ali področje priprave nepotrjene spremembe, ki so v konfliktu z vejo, ki jo izvlečete, vam Git ne bo dovolil preklopiti vej. Ko preklapljate veje, je najbolje imeti čisto delovno stanje. Obstajajo načini, da se temu izognete (v glavnem, shranjevanje na varno in potrjevanje sprememb), kar bomo pokrili kasneje v <a href="/book/sl/v2/ch00/_git_stashing">Shranjevanje na varno (angl. <em>stashing</em>) in čiščenje</a>. Za sedaj predpostavimo, da ste potrdili vse svoje spremembe, tako da lahko preklopite nazaj na vašo vejo <code>master</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master Switched to branch 'master'</code></pre> </div> </div> <div class="paragraph"> <p>Na tej točki je vaš delovni direktorij projekta točno tak, kakor je bil preden, ste začeli delati na težavi #53 in sedaj se lahko osredotočite na svoj hitri popravek. To je pomembna točka za zapomniti: ko preklapljate veje, Git ponastavi vaš delovni direktorij, da je videti tako, kot je, ko ste zadnjič naredili potrditev na tej veji. Avtomatično doda, odstrani in spremeni datoteke, da zagotovi, da je vaša delovna kopija taka, kot je bila veja na vaši zadnji potrditvi na njej.</p> </div> <div class="paragraph"> <p>Naslednje morate narediti hitri popravek. Ustvarimo vejo hitrega popravka <code>hotfix</code>, na kateri delate, dokler ni končan:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout -b hotfix Switched to a new branch 'hotfix' $ vim index.html $ git commit -a -m 'Fix broken email address' [hotfix 1fb7853] Fix broken email address 1 file changed, 2 insertions(+)</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-branching-4.png" alt="Veja hitrega popravka osnovana na `master`"> </div> <div class="title">Slika 21. Veja hitrega popravka osnovana na <code>master</code> </div> </div> <div class="paragraph"> <p>Poženete lahko svoje teste, zagotovite, da je hitri popravek, kakršen ga želite, in na koncu združite vejo <code>hotfix</code> nazaj v vašo vejo <code>master</code>, da postavite na produkcijo. To naredite z ukazom <code>git merge</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master $ git merge hotfix Updating f42c576..3a0874c Fast-forward index.html | 2 ++ 1 file changed, 2 insertions(+)</code></pre> </div> </div> <div class="paragraph"> <p>V tej združitvi boste opazili frazo »fast-forward« (hitro previjanje naprej). Ker je potrjevanje <code>C4</code>, kamor kaže veja <code>hotfix</code>, ki ste jo združili, neposredno pred potrditvijo `C2, na kateri ste, Git enostavno premakne kazalec naprej. Povedano drugače, ko poskušate združiti eno potrditev z drugo, ki je lahko dosegljiva s sledenjem zgodovine prve potrditve, Git poenostavi stvari, tako da prestavi kazalec naprej, ker ni nobenega različnega dela za združiti skupaj — to se imenuje »fast-forward«.</p> </div> <div class="paragraph"> <p>Vaša sprememba je sedaj v posnetku potrditve, ki kaže na vejo <code>master</code>, in programski popravek lahko postavite.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-branching-5.png" alt="Veja `master` je hitro previta naprej na `hotfix`"> </div> <div class="title">Slika 22. Veja <code>master</code> je hitro previta naprej na <code>hotfix</code> </div> </div> <div class="paragraph"> <p>Ko je vaš zelo pomemben hitri programski popravek postavljen, ste pripravljeni preklopiti nazaj k delu, ki ste ga delali, preden so vas zmotili. Vendar najprej boste izbrisali vejo <code>hotfix</code>, ker je ne potrebujete več — veja <code>master</code> kaže na isto mesto. Izbrišete jo lahko z možnostjo <code>-d</code> ukazu <code>git branch</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -d hotfix Deleted branch hotfix (3a0874c).</code></pre> </div> </div> <div class="paragraph"> <p>Sedaj lahko vaše delo preklopite nazaj na vašo vejo dela v teku na težavi #53 in nadaljujete delo na njej.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout iss53 Switched to branch "iss53" $ vim index.html $ git commit -a -m 'Finish the new footer [issue 53]' [iss53 ad82d7a] Finish the new footer [issue 53] 1 file changed, 1 insertion(+)</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-branching-6.png" alt="Delo se nadaljuje na `iss53`"> </div> <div class="title">Slika 23. Delo se nadaljuje na <code>iss53</code> </div> </div> <div class="paragraph"> <p>Tu je vredno omeniti, da delo, ki ste ga naredili na vaši veji <code>hotfix</code>, ni vsebovano v datotekah vaše veje <code>iss53</code>. Če ga morate povleči notri, lahko združite vašo vejo <code>master</code> v vašo vejo <code>iss53</code> s pogonom <code>git merge master</code> ali pa lahko počakate, da integrirate te spremembe, dokler se kasneje ne odločite povleči veje <code>iss53</code> nazaj v <code>master</code>.</p> </div> </div> <div class="sect3"> <h3 id="_basic_merging">Osnovno združevanje</h3> <div class="paragraph"> <p> Predpostavimo, da ste se odločili, da je vaša težava #53 končana in pripravljena na združitev v vašo vejo <code>master</code> Da to naredite, boste združili vašo vejo <code>iss53</code> v <code>master</code>, tako kot ste prej združili vašo vejo <code>hotfix</code>. Vse kar morate narediti, je izvleči vejo, ki jo želite združiti, in nato pognati ukaz <code>git merge</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout master Switched to branch 'master' $ git merge iss53 Merge made by the 'recursive' strategy. index.html | 1 + 1 file changed, 1 insertion(+)</code></pre> </div> </div> <div class="paragraph"> <p>To je nekoliko drugače kot združitev <code>hotfix</code>, kar ste naredili prej. V tem primeru se je vaša zgodovina razvoja oddaljila od neke starejše točke. Ker potrditev na veji, na kateri ste, ni neposredni prednik veje, ki jo združujete, mora Git narediti nekaj dela. V tem primeru Git naredi enostavno tri-načinsko združitev z uporabo dveh posnetkov, ki kažeta na vrhova vej in skupnega prednika od teh dveh.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-merging-1.png" alt="Trije posnetki uporabljeni pri običajni združitvi"> </div> <div class="title">Slika 24. Trije posnetki uporabljeni pri običajni združitvi</div> </div> <div class="paragraph"> <p>Namesto samo premikanja kazalca veje naprej, Git ustvari nov posnetek, ki izhaja iz te tri-načinske združitve in avtomatično ustvari novo potrditev, ki kaže nanjo. Ta se imenuje kot potrditev združitve in je posebna v tem, da ima več kot samo eno nadrejeno.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/sl/v2/images/basic-merging-2.png" alt="Potrditev združitve"> </div> <div class="title">Slika 25. Potrditev združitve</div> </div> <div class="paragraph"> <p>Sedaj, ko je vaše delo združeno, nimate več potrebe po veji <code>iss53</code>. Težavo lahko zaprete v svojem sistemu sledenja težav in vejo izbrišete:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git branch -d iss53</code></pre> </div> </div> </div> <div class="sect3"> <h3 id="_basic_merge_conflicts">Konflikti osnovnega združevanja</h3> <div class="paragraph"> <p> Občasno ta proces ne gre gladko. Če ste spremenili isti del neke datoteke na različna načina v dveh vejah, ki ju združujete skupaj, jih Git ne bo mogel gladko združiti. Če je vaš programski popravek za težavo #53 spremenil isti del datoteke kot veja <code>hotfix</code>, boste dobili konflikt združevanja, ki je videti nekako takole:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git merge iss53 Auto-merging index.html CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result.</code></pre> </div> </div> <div class="paragraph"> <p>Git ni avtomatično ustvaril potrditve združevanja. Ustavil je proces, dokler ne rešite konflikta. Če želite videti, katere datoteke niso združene na katerikoli točki po konfliktu združevanja, lahko poženete <code>git status</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">$ git status On branch master You have unmerged paths. (fix conflicts and run "git commit") Unmerged paths: (use "git add &lt;file&gt;..." to mark resolution) both modified: index.html no changes added to commit (use "git add" and/or "git commit -a")</code></pre> </div> </div> <div class="paragraph"> <p>Karkoli, kar ima konflikte združevanja in niso bili rešeni, je izpisano kot nezdruženo. Git doda standardne označevalce reševanja konfliktov v datoteke, ki imajo konflikte, tako da jih lahko odprete ročno in rešite te konflikte. Vaša datoteka vsebuje razdelek, ki je videti nekako takole:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-html" data-lang="html">&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD:index.html &lt;div id="footer"&gt;contact : email.support@github.com&lt;/div&gt; ======= &lt;div id="footer"&gt; please contact us at support@github.com &lt;/div&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; iss53:index.html</code></pre> </div> </div> <div class="paragraph"> <p>To pomeni, da je različica v <code>HEAD</code> (vaše veje <code>master</code>, ker ta je bila, kar ste izvlekli, ko ste pognali svoj ukaz združevanja) vrhnji del tega bloka (vse nad <code>=======</code>), medtem ko je različica v vaši veji <code>iss53</code> videti kot ves spodnji del. Da rešite konflikt, morate izbrati eno ali drugo stran ali pa združiti vsebino sami. Na primer ta konflikt lahko rešite z zamenjavo celotnega bloka s tem:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-html" data-lang="html">&lt;div id="footer"&gt; please contact us at email.support@github.com &lt;/div&gt;</code></pre> </div> </div> <div class="paragraph"> <p>Ta rešitev ima malo vsake od obeh razdelkov in vrstice <code>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</code>, <code>=======</code> in <code>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</code> so bile v celoti odstranjene. Ko ste rešili vsakega od teh razdelkov v vsaki konfliktni datoteki, poženite <code>git add</code> na vsaki datoteki, da jo označite kot rešeno. Dajanje datoteke v področje priprave jo v Gitu označi kot rešeno.</p> </div> <div class="paragraph"> <p>Če želite uporabiti grafično orodje, da rešite te težave, lahko poženete <code>git mergetool</code>, ki zažene ustrezno vizualno združevalno orodje in vas pelje na sprehod skozi konflikte:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git mergetool This message is displayed because 'merge.tool' is not configured. See 'git mergetool --tool-help' or 'git help config' for more details. 'git mergetool' will now attempt to use one of the following tools: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse diffmerge ecmerge p4merge araxis bc3 codecompare vimdiff emerge Merging: index.html Normal merge conflict for 'index.html': {local}: modified file {remote}: modified file Hit return to start merge resolution tool (opendiff):</code></pre> </div> </div> <div class="paragraph"> <p>Če želite namesto privzetega uporabiti drugo orodje združevanja (Git je v tem primeru izbral <code>opendiff</code>, ker je bil ukaz pognan na macOS), lahko pogledate vsa podprta orodja izpisana na vrhu za »one of the following tools«. Samo vpišite ime orodja, ki bi ga raje uporabljali.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Opomba</div> </td> <td class="content"> <div class="paragraph"> <p>Če potrebujete naprednejša orodja za reševanje zapletenih konfliktov združevanja, bomo pokrili več o združevanju v <a href="/book/sl/v2/ch00/_advanced_merging">Napredno združevanje</a>.</p> </div> </td> </tr> </table> </div> <div class="paragraph"> <p>Ko zapustite orodje združevanja, vas Git vpraša, ali je bila združitev uspešna. Če skriptu poveste, da je bila, da datoteko v področje priprave in jo tako za vas označi kot rešeno. Ponovno lahko poženete <code>git status</code>, da potrdite, ali so bili vsi konflikti rešeni:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git status On branch master All conflicts fixed but you are still merging. (use "git commit" to conclude merge) Changes to be committed: modified: index.html</code></pre> </div> </div> <div class="paragraph"> <p>Če ste s tem zadovoljni in potrdite, da je bilo dano v področje priprave vse, kar je imelo konflikte, lahko vpišete <code>git commit</code>, da končate potrditev združevanja. Sporočilo potrditve privzeto je videti nekako takole:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console?prompt=$" data-lang="console?prompt=$">Merge branch 'iss53' Conflicts: index.html # # It looks like you may be committing a merge. # If this is not correct, please remove the file # .git/MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: index.html #</code></pre> </div> </div> <div class="paragraph"> <p>Če mislite, da bi bilo koristno za druge, ki bodo nekoč gledali to združevanje, lahko to sporočilo potrditve spremenite s podrobnostmi o tem, kako ste rešili združevanje in razložite, zakaj ste naredili te spremembe, če te niso očitne.</p> </div> </div> <div id="nav"><a href="/book/sl/v2/Veje-Git-Veje-na-kratko">prev</a> | <a href="/book/sl/v2/Veje-Git-Upravljanje-vej">next</a></div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>

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