CINXE.COM
Git - Wskazywanie rewizji
<!DOCTYPE html> <html lang="pl"> <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 - Wskazywanie rewizji</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/progit2-pl/progit2-pl">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/pl/v2/Pierwsze-kroki-Wprowadzenie-do-kontroli-wersji">Pierwsze kroki</a></h2> <ol> <li> 1.1 <a href="/book/pl/v2/Pierwsze-kroki-Wprowadzenie-do-kontroli-wersji">Wprowadzenie do kontroli wersji</a> </li> <li> 1.2 <a href="/book/pl/v2/Pierwsze-kroki-Kr%c3%b3tka-historia-Git">Krótka historia Git</a> </li> <li> 1.3 <a href="/book/pl/v2/Pierwsze-kroki-Podstawy-Git">Podstawy Git</a> </li> <li> 1.4 <a href="/book/pl/v2/Pierwsze-kroki-Linia-polece%c5%84">Linia poleceń</a> </li> <li> 1.5 <a href="/book/pl/v2/Pierwsze-kroki-Instalacja-Git">Instalacja Git</a> </li> <li> 1.6 <a href="/book/pl/v2/Pierwsze-kroki-Wst%c4%99pna-konfiguracja-Git">Wstępna konfiguracja Git</a> </li> <li> 1.7 <a href="/book/pl/v2/Pierwsze-kroki-Uzyskiwanie-pomocy">Uzyskiwanie pomocy</a> </li> <li> 1.8 <a href="/book/pl/v2/Pierwsze-kroki-Podsumowanie">Podsumowanie</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/pl/v2/Podstawy-Gita-Pierwsze-repozytorium-Gita">Podstawy Gita</a></h2> <ol> <li> 2.1 <a href="/book/pl/v2/Podstawy-Gita-Pierwsze-repozytorium-Gita">Pierwsze repozytorium Gita</a> </li> <li> 2.2 <a href="/book/pl/v2/Podstawy-Gita-Rejestrowanie-zmian-w-repozytorium">Rejestrowanie zmian w repozytorium</a> </li> <li> 2.3 <a href="/book/pl/v2/Podstawy-Gita-Podgl%c4%85d-historii-rewizji">Podgląd historii rewizji</a> </li> <li> 2.4 <a href="/book/pl/v2/Podstawy-Gita-Cofanie-zmian">Cofanie zmian</a> </li> <li> 2.5 <a href="/book/pl/v2/Podstawy-Gita-Praca-ze-zdalnym-repozytorium">Praca ze zdalnym repozytorium</a> </li> <li> 2.6 <a href="/book/pl/v2/Podstawy-Gita-Tagowanie">Tagowanie</a> </li> <li> 2.7 <a href="/book/pl/v2/Podstawy-Gita-Aliasy">Aliasy</a> </li> <li> 2.8 <a href="/book/pl/v2/Podstawy-Gita-Podsumowanie">Podsumowanie</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Czym-jest-ga%c5%82%c4%85%c5%ba">Gałęzie Gita</a></h2> <ol> <li> 3.1 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Czym-jest-ga%c5%82%c4%85%c5%ba">Czym jest gałąź</a> </li> <li> 3.2 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Podstawy-rozga%c5%82%c4%99ziania-i-scalania">Podstawy rozgałęziania i scalania</a> </li> <li> 3.3 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Zarz%c4%85dzanie-ga%c5%82%c4%99ziami">Zarządzanie gałęziami</a> </li> <li> 3.4 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Sposoby-pracy-z-ga%c5%82%c4%99ziami">Sposoby pracy z gałęziami</a> </li> <li> 3.5 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Ga%c5%82%c4%99zie-zdalne">Gałęzie zdalne</a> </li> <li> 3.6 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Zmiana-bazy">Zmiana bazy</a> </li> <li> 3.7 <a href="/book/pl/v2/Ga%c5%82%c4%99zie-Gita-Podsumowanie">Podsumowanie</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/pl/v2/Git-na-serwerze-Protoko%c5%82y">Git na serwerze</a></h2> <ol> <li> 4.1 <a href="/book/pl/v2/Git-na-serwerze-Protoko%c5%82y">Protokoły</a> </li> <li> 4.2 <a href="/book/pl/v2/Git-na-serwerze-Uruchomienie-Git-na-serwerze">Uruchomienie Git na serwerze</a> </li> <li> 4.3 <a href="/book/pl/v2/Git-na-serwerze-Generowanie-Twojego-publicznego-klucza-SSH">Generowanie Twojego publicznego klucza SSH</a> </li> <li> 4.4 <a href="/book/pl/v2/Git-na-serwerze-Konfigurowanie-serwera">Konfigurowanie serwera</a> </li> <li> 4.5 <a href="/book/pl/v2/Git-na-serwerze-Git-Daemon">Git Daemon</a> </li> <li> 4.6 <a href="/book/pl/v2/Git-na-serwerze-Smart-HTTP">Smart HTTP</a> </li> <li> 4.7 <a href="/book/pl/v2/Git-na-serwerze-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/pl/v2/Git-na-serwerze-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/pl/v2/Git-na-serwerze-Inne-opcje-hostowania-przez-podmioty-zewn%c4%99trzne">Inne opcje hostowania przez podmioty zewnętrzne</a> </li> <li> 4.10 <a href="/book/pl/v2/Git-na-serwerze-Podsumowanie">Podsumowanie</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/pl/v2/Rozproszony-Git-Rozproszone-przep%c5%82ywy-pracy">Rozproszony Git</a></h2> <ol> <li> 5.1 <a href="/book/pl/v2/Rozproszony-Git-Rozproszone-przep%c5%82ywy-pracy">Rozproszone przepływy pracy</a> </li> <li> 5.2 <a href="/book/pl/v2/Rozproszony-Git-Wgrywanie-zmian-do-projektu">Wgrywanie zmian do projektu</a> </li> <li> 5.3 <a href="/book/pl/v2/Rozproszony-Git-Utrzymywanie-projektu">Utrzymywanie projektu</a> </li> <li> 5.4 <a href="/book/pl/v2/Rozproszony-Git-Podsumowanie">Podsumowanie</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/pl/v2/GitHub-Account-Setup-and-Configuration">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/pl/v2/GitHub-Account-Setup-and-Configuration">Account Setup and Configuration</a> </li> <li> 6.2 <a href="/book/pl/v2/GitHub-Contributing-to-a-Project">Contributing to a Project</a> </li> <li> 6.3 <a href="/book/pl/v2/GitHub-Maintaining-a-Project">Maintaining a Project</a> </li> <li> 6.4 <a href="/book/pl/v2/GitHub-Managing-an-organization">Managing an organization</a> </li> <li> 6.5 <a href="/book/pl/v2/GitHub-Scripting-GitHub">Scripting GitHub</a> </li> <li> 6.6 <a href="/book/pl/v2/GitHub-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Wskazywanie-rewizji">Narzędzia Gita</a></h2> <ol> <li> 7.1 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Wskazywanie-rewizji" class="active">Wskazywanie rewizji</a> </li> <li> 7.2 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Interaktywne-u%c5%bcywanie-przechowali">Interaktywne używanie przechowali</a> </li> <li> 7.3 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Schowek-i-czyszczenie">Schowek i czyszczenie</a> </li> <li> 7.4 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Signing-Your-Work">Signing Your Work</a> </li> <li> 7.5 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Searching">Searching</a> </li> <li> 7.6 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Przepisywanie-historii">Przepisywanie historii</a> </li> <li> 7.7 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Reset-Demystified">Reset Demystified</a> </li> <li> 7.8 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Advanced-Merging">Advanced Merging</a> </li> <li> 7.9 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Debugowanie-z-Gitem">Debugowanie z Gitem</a> </li> <li> 7.11 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Modu%c5%82y-zale%c5%bcne">Moduły zależne</a> </li> <li> 7.12 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Bundling">Bundling</a> </li> <li> 7.13 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Replace">Replace</a> </li> <li> 7.14 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Credential-Storage">Credential Storage</a> </li> <li> 7.15 <a href="/book/pl/v2/Narz%c4%99dzia-Gita-Podsumowanie">Podsumowanie</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/pl/v2/Dostosowywanie-Gita-Konfiguracja-Gita">Dostosowywanie Gita</a></h2> <ol> <li> 8.1 <a href="/book/pl/v2/Dostosowywanie-Gita-Konfiguracja-Gita">Konfiguracja Gita</a> </li> <li> 8.2 <a href="/book/pl/v2/Dostosowywanie-Gita-Git-Attributes">Git Attributes</a> </li> <li> 8.3 <a href="/book/pl/v2/Dostosowywanie-Gita-Git-Hooks">Git Hooks</a> </li> <li> 8.4 <a href="/book/pl/v2/Dostosowywanie-Gita-An-Example-Git-Enforced-Policy">An Example Git-Enforced Policy</a> </li> <li> 8.5 <a href="/book/pl/v2/Dostosowywanie-Gita-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/pl/v2/Git-i-inne-systemy-Git-jako-klient">Git i inne systemy</a></h2> <ol> <li> 9.1 <a href="/book/pl/v2/Git-i-inne-systemy-Git-jako-klient">Git jako klient</a> </li> <li> 9.2 <a href="/book/pl/v2/Git-i-inne-systemy-Migracja-do-Gita">Migracja do Gita</a> </li> <li> 9.3 <a href="/book/pl/v2/Git-i-inne-systemy-Podsumowanie">Podsumowanie</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Komendy-typu-plumbing-i-porcelain">Mechanizmy wewnętrzne w Git</a></h2> <ol> <li> 10.1 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Komendy-typu-plumbing-i-porcelain">Komendy typu plumbing i porcelain</a> </li> <li> 10.2 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Obiekty-Gita">Obiekty Gita</a> </li> <li> 10.3 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Referencje-w-Git">Referencje w Git</a> </li> <li> 10.4 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Spakowane-pliki-packfiles">Spakowane pliki (packfiles)</a> </li> <li> 10.5 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Refspec">Refspec</a> </li> <li> 10.6 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Protoko%c5%82y-transferu">Protokoły transferu</a> </li> <li> 10.7 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Konserwacja-i-odzyskiwanie-danych">Konserwacja i odzyskiwanie danych</a> </li> <li> 10.8 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Environment-Variables">Environment Variables</a> </li> <li> 10.9 <a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Podsumowanie">Podsumowanie</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces">Appendix A: Git in Other Environments</a></h2> <ol> <li> A1.1 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces">Graphical Interfaces</a> </li> <li> A1.2 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio">Git in Visual Studio</a> </li> <li> A1.3 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Eclipse">Git in Eclipse</a> </li> <li> A1.4 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash">Git in Bash</a> </li> <li> A1.5 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh">Git in Zsh</a> </li> <li> A1.6 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Powershell">Git in Powershell</a> </li> <li> A1.7 <a href="/book/pl/v2/Appendix-A:-Git-in-Other-Environments-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/pl/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git">Appendix B: Embedding Git in your Applications</a></h2> <ol> <li> A2.1 <a href="/book/pl/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git">Command-line Git</a> </li> <li> A2.2 <a href="/book/pl/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/pl/v2/Appendix-B:-Embedding-Git-in-your-Applications-JGit">JGit</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/pl/v2/Appendix-C:-Git-Commands-Setup-and-Config">Appendix C: Git Commands</a></h2> <ol> <li> A3.1 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Setup-and-Config">Setup and Config</a> </li> <li> A3.2 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Getting-and-Creating-Projects">Getting and Creating Projects</a> </li> <li> A3.3 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Basic-Snapshotting">Basic Snapshotting</a> </li> <li> A3.4 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Branching and Merging</a> </li> <li> A3.5 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Sharing-and-Updating-Projects">Sharing and Updating Projects</a> </li> <li> A3.6 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison">Inspection and Comparison</a> </li> <li> A3.7 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Debugging">Debugging</a> </li> <li> A3.8 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Patching">Patching</a> </li> <li> A3.9 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Email">Email</a> </li> <li> A3.10 <a href="/book/pl/v2/Appendix-C:-Git-Commands-External-Systems">External Systems</a> </li> <li> A3.11 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Administration">Administration</a> </li> <li> A3.12 <a href="/book/pl/v2/Appendix-C:-Git-Commands-Plumbing-Commands">Plumbing Commands</a> </li> </ol> </li> </ol> </div> </div> </div> <span class="light" id="edition"> 2nd Edition </span> </div> <div id="main" data-pagefind-filter="category:book" data-pagefind-meta="category:Book" data-pagefind-weight="0.05" data-pagefind-body class="book edition2"> <h1>7.1 Narzędzia Gita - Wskazywanie rewizji</h1> <div> <p>Do tej chwili poznałeś większość komend potrzebnych do codziennej pracy, oraz do prowadzenia repozytorium ze swoim kodem. Wykonywałeś podstawowe zadania dotyczące śledzenia i wprowadzania zmian, oraz wykorzystywałeś przechowalnię, jak również rozgałęzianie oraz łączenie różnych gałęzi.</p><p>Teraz dowiesz się o kolejnych rzeczach, które Git ma do zaoferowania, z których być może nie będziesz korzystał codziennie, ale które z pewnością będą przydatne.</p> <h2 id="_revision_selection">Wskazywanie rewizji</h2> <div class="paragraph"> <p>Git umożliwia wskazanie konkretnej zmiany lub zakresu zmian na kilka sposobów. Nie koniecznie są one oczywiste, ale na pewno są warte uwagi.</p> </div> <div class="sect3"> <h3 id="_pojedyncze_rewizje">Pojedyncze rewizje</h3> <div class="paragraph"> <p>Jak wiesz, możesz odwoływać się do pojedynczej zmiany poprzez skrót SHA-1, istnieją jednak bardziej przyjazne sposoby. Ta sekcja opisuje kilka z nich.</p> </div> </div> <div class="sect3"> <h3 id="_krótki_sha_1">Krótki SHA-1</h3> <div class="paragraph"> <p>Git jest na tyle inteligentny, że potrafi domyśleć się o którą zmianę Ci chodziło po dodaniu zaledwie kilku znaków, o ile ta część sumy SHA-1 ma przynajmniej 4 znaki i jest unikalna, co oznacza, że istnieje tylko jeden obiekt w repozytorium, który od nich się zaczyna.</p> </div> <div class="paragraph"> <p>Dla przykładu, aby zobaczyć konkretną zmianę, uruchamiasz komendę <code>git log</code> i wybierasz zmianę w której dodałeś jakąś funkcjonalność:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log commit 734713bc047d87bf7eac9674765ae793478c50d3 Author: Scott Chacon <schacon@gmail.com> Date: Fri Jan 2 18:32:33 2009 -0800 fixed refs handling, added gc auto, updated 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 added some blame and merge stuff</code></pre> </div> </div> <div class="paragraph"> <p>W tym przypadku, powiedzmy, że interesuje nas commit, którego hash zaczyna się od <code>1c002dd...</code>. Możesz sprawdzić ten commit za pomocą dowolnej z poniższych odmian <code>git show</code> (zakładając, że krótsze wersje są jednoznaczne):</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 może sam odnaleźć unikalne występowania wartości SHA-1. Jeżeli przekażesz parametr <code>--abbrev-commit</code> do komendy <code>git log</code>, jej wynik pokaże krótsze wartości SHA-1, przy zachowaniu ich unikalności; domyślnie stosuje długość 7 znaków, ale może ją zwiększyć, aby zachować unikalność sum kontrolnych:</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 changed the version number 085bb3b removed unnecessary test code a11bef0 first commit</code></pre> </div> </div> <div class="paragraph"> <p>Generalnie, 8 do 10 znaków to wystarczająca ilość, aby mieć unikalne wartości w projekcie.</p> </div> <div class="paragraph"> <p>Dla przykładu, jądro Linux, które jest całkiem dużym projektem z ponad 450 tys. commitów i 3.6 milionami obiektów, nie ma dwóch obiektów, których SHA-1 pokrywają się bardziej niż pierwsze 11 znaków.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> <div class="title">KRÓTKA UWAGA NA TEMAT SHA-1</div> <div class="paragraph"> <p>Duża liczba osób zaniepokoiła się, gdy ze względu na jakiś szczęśliwy przypadek, mieli w swoim repozytorium dwa różne obiekty posiadające tą samą wartość SHA-1. Co wtedy?</p> </div> <div class="paragraph"> <p>Jeżeli zdarzy Ci się zapisać obiekt który ma sumę kontrolną SHA-1 taką samą jak inny obiekt będący już w repozytorium, Git zauważy, że obiekt taki już istnieje i założy, że został on już zapisany. Jeżeli spróbujesz pobrać jego zawartość, zawsze otrzymasz dane pierwszego obiektu.</p> </div> <div class="paragraph"> <p>Powinieneś wiedzieć jednak, że taki scenariusz jest strasznie rzadki. Skrót SHA-1 ma długość 20 bajtów lub 160 bitów. Ilość losowych obiektów potrzebnych do zapewnienia 50% prawdopodobieństwa kolizji to około 2<sup>80</sup> (wzór na obliczenie prawdopodobieństwa kolizji to <code>p = (n(n-1)/2) * (1/2^160)</code>). 2<sup>80</sup> to 1,2 x 10<sup>24</sup> lub 1 milion miliardów miliardów. To 1200 razy więcej niż liczba ziaren piasku na ziemi.</p> </div> <div class="paragraph"> <p>Weźmy przykład, aby zaprezentować Ci jak trudne jest wygenerowanie kolizji SHA-1. Jeżeli wszyscy z 6,5 miliarda osób na ziemi byłaby programistami i w każdej sekundzie, każdy z nich tworzyłby kod wielkości całego jądra Linuksa (1 milion obiektów Gita) i wgrywał go do ogromnego repozytorium Gita, zajęłoby około 5 lat, zanim w repozytorium byłoby tyle obiektów, aby mieć pewność 50% wystąpienia kolizji. Istnieje większe prawdopodobieństwo, że każdy z członków Twojego zespołu programistycznego zostanie zaatakowany i zabity przez wilki, w nie związanych ze sobą zdarzeniach, w ciągu tej samej nocy.</p> </div> </td> </tr> </table> </div> </div> <div class="sect3"> <h3 id="_branch_references">Odniesienie do gałęzi</h3> <div class="paragraph"> <p>Najprostszym sposobem na wskazanie konkretnej zmiany, jest stworzenie odniesienia do gałęzi wskazującej na nią. Następnie, będziesz mógł używać nazwy gałęzi we wszystkich komendach Gita które przyjmują jako parametr obiekt lub wartość SHA-1. Na przykład, jeżeli chcesz pokazać ostatni zmieniony obiekt w gałęzi, podane niżej komendy są identyczne, przy założeniu, że <code>topic1</code> wskazuje na <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>Jeżeli chciałbyś zobaczyć, na jaką sumę SHA-1 wskazuje dana gałąź, lub jeżeli chcesz zobaczyć na jaką sumę SHA-1 każdy z tych przykładów się rozwiązuje, możesz użyć komendy <code>rev-parse</code>. Możesz zobaczyć również rozdział <a href="/book/pl/v2/ch00/_git_internals">Mechanizmy wewnętrzne w Git</a>, aby dowiedzieć się o tym narzędziu więcej; zasadniczo <code>rev-parse</code> wykonuje operacje niskopoziomowo i nie jest stworzony do codziennej pracy. Jednakże potrafi być czasami przydatny, jeżeli musisz zobaczyć co tak naprawdę się dzieje. Możesz teraz wywołać <code>rev-parse</code> na swojej gałęzi.</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">Skróty do RefLog</h3> <div class="paragraph"> <p>Jedną z rzeczy które Git robi w tle w czasie Twojej pracy, jest utrzymywanie tzw. <em>refloga</em> – zapisanych informacji o tym, jak wyglądały odwołania HEAD-a i innych gałęzi w ciągu ostatnich miesięcy.</p> </div> <div class="paragraph"> <p>Możesz zobaczyć refloga za pomocą komendy <code>git reflog</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git reflog 734713b HEAD@{0}: commit: fixed refs handling, added gc auto, updated d921970 HEAD@{1}: merge phedders/rdocs: Merge made by recursive. 1c002dd HEAD@{2}: commit: added 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>Za każdym razem, gdy Twoja gałąź się przesuwa, Git przechowuje tą informację w tej tymczasowej historii. Za jej pomocą, możesz wskazać również starsze zmiany. Jeżeli chcesz zobaczyć zawartość HEAD-a sprzed 5 zmian, możesz użyć odwołania <code>@{n}</code>, które widać w wyniku komendy reflog:</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>Możesz również użyć tej składni, aby dowiedzieć się, jak wyglądała dana gałąź jakiś czas temu. Na przykład, aby zobaczyć gdzie była gałąź <code>master</code> wczoraj, możesz wywołać:</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>Co pokaże Ci, na jakim etapie znajdowała się ta gałąź wczoraj. Ta technika zadziała tylko dla danych które są jeszcze w Twoim reflogu, nie możesz więc jej użyć do sprawdzenia zmian starszych niż kilka miesięcy.</p> </div> <div class="paragraph"> <p>Aby zobaczyć wynik reflog-a w formacie podobnym do wyniku <code>git log</code>, możesz uruchomić <code>git log -g</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git log -g master commit 734713bc047d87bf7eac9674765ae793478c50d3 Reflog: master@{0} (Scott Chacon <schacon@gmail.com>) Reflog message: commit: fixed refs handling, added gc auto, updated Author: Scott Chacon <schacon@gmail.com> Date: Fri Jan 2 18:32:33 2009 -0800 fixed refs handling, added gc auto, updated 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>Należy zaznaczyć, że informacje z reflog-a są wyłącznie lokalne – jest to zapis zmian które wprowadzałeś w swoim repozytorium. Referencje nie będą takie same na kopii repozytorium u kogoś innego; a od razu po pierwszym sklonowaniu repozytorium, będziesz miał pusty reflog, ze względu na to, że żadna aktywność nie została wykonana. Uruchomienie <code>git show HEAD{2.months.ago}</code> zadziała tylko wówczas, gdy sklonowałeś swoje repozytorium przynajmniej dwa miesiące temu – jeżeli sklonowałeś je pięć minut temu, otrzymasz pusty wynik.</p> </div> </div> <div class="sect3"> <h3 id="_referencje_przodków">Referencje przodków</h3> <div class="paragraph"> <p>Innym często używanym sposobem na wskazanie konkretnego commit-a jest wskazanie przodka. Jeżeli umieścisz znak <code>^</code> na końcu referencji, Git rozwinie to do rodzica tego commit-a. Załóżmy, że spojrzałeś na historię zmian w swoim projekcie:</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 fixed refs handling, added gc auto, updated tests * d921970 Merge commit 'phedders/rdocs' |\ | * 35cfb2b Some rdoc changes * | 1c002dd added some blame and merge stuff |/ * 1c36188 ignore *.gem * 9b29157 add open3_detach to gemspec file list</code></pre> </div> </div> <div class="paragraph"> <p>Następne, możesz zobaczyć poprzednią zmianę, poprzez użycie <code>HEAD^</code>, co oznacza "rodzic HEAD-a":</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ 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="paragraph"> <p>Możesz również określić liczbę po <code>^</code> - na przykład, <code>d921970^2</code> oznacza "drugi rodzic d921970". Taka składnia jest użyteczna podczas łączenia zmian, które mają więcej niż jednego rodzica. Pierwszym rodzicem jest gałąź na której byłeś podczas łączenia zmian, a drugim jest zmiana w gałęzi którą łączyłeś:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git show d921970^ commit 1c002dd4b536e7479fe34593e72e6c6c1819e53b Author: Scott Chacon <schacon@gmail.com> Date: Thu Dec 11 14:58:32 2008 -0800 added 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>Kolejnym wskaźnikiem przodka jest <code>~</code>. On również wskazuje na pierwszego rodzica, więc <code>HEAD~</code> i <code>HEAD^</code> są równoznaczne. Różnica zaczyna być widoczna po sprecyzowaniu liczby. <code>HEAD~2</code> oznacza "pierwszy rodzic pierwszego rodzica", lub inaczej "dziadek" – przemierza to pierwszych rodziców ilość razy którą wskażesz. Na przykład, w historii pokazanej wcześniej, <code>HEAD~3</code> będzie:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ 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>Może to być również zapisane jako <code>HEAD^^^</code>, co znowu daje pierwszego rodzica, pierwszego rodzica, pierwszego rodzica:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ 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>Możesz również łączyć obie składnie - możesz dostać drugiego rodzica poprzedniej referencji (zakładając że było to łączenie zmian) przy użyciu <code>HEAD~3^2</code>, i tak dalej.</p> </div> </div> <div class="sect3"> <h3 id="_commit_ranges">Zakresy zmian</h3> <div class="paragraph"> <p>Teraz gdy możesz już wskazywać pojedyncze zmiany, sprawdźmy jak wskazać ich zakres. Jest to szczególnie przydatne podczas zarządzania gałęziami – w sytuacji, gdy masz dużą ilość gałęzi, możesz użyć wskaźnika zakresu zmian, aby odpowiedzieć na pytanie, w stylu "Jakie są zmiany na obecnej gałęzi, których jeszcze nie włączyłem do gałęzi głównej?".</p> </div> <div class="sect4"> <h4 id="_podwójna_kropka">Podwójna kropka</h4> <div class="paragraph"> <p>Najczęściej używaną składnią wskazywania zakresu zmian jest podwójna kropka. Mówi ona Gitowi, aby rozwinął zakres zmian które są osiągalne z pierwszego commitu, ale nie są z drugiego. Na przykład, załóżmy że masz historię zmian która wygląda tak jak na <a href="/book/pl/v2/ch00/double_dot">Przykładowa historia dla wskazania zakresu zmian.</a>.</p> </div> <div id="double_dot" class="imageblock"> <div class="content"> <img src="/book/pl/v2/images/double-dot.png" alt="Przykładowa historia dla wskazania zakresu zmian."> </div> <div class="title">Figure 137. Przykładowa historia dla wskazania zakresu zmian.</div> </div> <div class="paragraph"> <p>Chcesz zobaczyć co z tego co znajduje się w Twojej gałęzi <code>experiment</code> nie zostało jeszcze włączone do gałęzi <code>master</code>. Możesz poprosić Gita, aby pokazał Ci logi z informacjami o tych zmianach przy pomocy <code>master..experiment</code> – co oznacza "wszystkie zmiany dostępne z <code>experiment</code> które nie są dostępne przez <code>master</code>". Dla zachowania zwięzłości i przejrzystości w tych przykładach, użyjemy liter ze zmian znajdujących się na wykresie zamiast pełnego wyniku komendy, w kolejności w jakiej się pokażą:</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>Jeżeli, z drugiej strony, chcesz zobaczyć odwrotne działanie – wszystkie zmiany z <code>master</code> których nie ma w <code>experiment</code> – możesz odwrócić nazwy gałęzi. <code>experiment..master</code> pokaże wszystko to z <code>master</code>, co nie jest dostępne z <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>Jest to przydatne, jeżeli zamierzasz utrzymywać gałąź <code>experiment</code> zaktualizowaną, oraz przeglądać co będziesz integrował. Innym bardzo często używanym przykładem użycia tej składni jest sprawdzenie, co zamierzasz wypchnąć do zdalnego repozytorium:</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 komenda pokaże wszystkie zmiany z Twojej obecnej gałęzi, których nie ma w zdalnej gałęzi <code>master</code> w repozytorium. Jeżeli uruchomisz <code>git push</code>, a Twoja obecna gałąź śledzi <code>origin/master</code>, zmiany pokazane przez <code>git log origin/master..HEAD</code> to te, które będą wysłane na serwer. Możesz również pominąć jedną ze stron tej składni, aby Git założył HEAD. Dla przykładu, możesz otrzymać takie same wyniki jak w poprzednim przykładzie wywołując <code>git log origin/master..</code> – Git wstawi HEAD jeżeli jednej ze stron brakuje.</p> </div> </div> <div class="sect4"> <h4 id="_wielokrotne_punkty">Wielokrotne punkty</h4> <div class="paragraph"> <p>Składnie z dwiema kropkami jest użyteczna jako skrót; ale możesz chcieć wskazać więcej niż dwie gałęzie, jak na przykład zobaczenie które zmiany są w obojętnie której z gałęzi, ale nie są w gałęzi w której się obecnie znajdujesz. Git pozwala Ci na zrobienie tego poprzez użycie znaku <code>^</code>, lub opcji <code>--not</code> podanej przed referencją z której nie chcesz widzieć zmian. Dlatego też, te trzy komendy są równoznaczne:</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>Jest to bardzo fajne, ponieważ przy użyciu tej składni możesz wskazać więcej niż dwie referencje w swoim zapytaniu, czego nie możesz osiągnąć przy pomocy składni z dwiema kropkami. Dla przykładu, jeżeli chcesz zobaczyć zmiany które są dostępne z <code>refA</code> lub <code>refB</code>, ale nie z <code>refC</code>, możesz użyć:</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>Tworzy to bardzo użyteczną składnię zapytań, która powinna Ci pomóc dowiedzieć się, co jest w Twoich gałęziach.</p> </div> </div> <div class="sect4"> <h4 id="_triple_dot">Potrójna kropka</h4> <div class="paragraph"> <p>Ostatnią z głównych składni zakresu jest składnia z trzema kropkami, która wskazuje na wszystkie zmiany które są dostępne z jednej z dwóch referencji, ale nie z obu. Spójrz ponownie na przykład z historią zmian na <a href="/book/pl/v2/ch00/double_dot">Przykładowa historia dla wskazania zakresu zmian.</a>. Jeżeli chcesz zobaczyć co jest zmienione w <code>master</code> lub <code>experiment</code>, poza wspólnymi, możesz uruchomić:</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>Ponownie, otrzymasz normalny wynik <code>log</code>, ale pokazujący tylko informacje o czterech zmianach, występujących w normalnej kolejności.</p> </div> <div class="paragraph"> <p>Często używaną opcją do komendy <code>log</code> jest <code>--left-right</code>, która pokazuje po której stronie każda zmiana występuje. Pozwala to na uzyskanie użyteczniejszych informacji:</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>Przy pomocy tych narzędzi, możesz dużo łatwiej wskazać którą zmianę lub zmiany chcesz zobaczyć.</p> </div> </div> </div> <div id="nav"><a href="/book/pl/v2/GitHub-Summary">prev</a> | <a href="/book/pl/v2/Narzędzia-Gita-Interaktywne-używanie-przechowali">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>