CINXE.COM

Git - Ang Rerere

<!DOCTYPE html> <html lang="tl"> <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 - Ang Rerere</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-Rerere">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git-Al%c9%99tl%c9%99ri-Rerere">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Git-Tools-Rerere">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Herramientas-de-Git-Rerere">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Utilitaires-Git-Rerere">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-Rerere">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%eb%8f%84%ea%b5%ac-Rerere">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Git-Tools-Rerere">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-Rerere">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Orodja-Git-Rerere">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Ang-Rerere">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-Rerere">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%b7%a5%e5%85%b7-Rerere">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/Git-Tools-Rerere">Č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-Rerere">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Narz%c4%99dzia-Gita-Rerere">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-Rerere">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-Tools-Rerere">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/Git-%e5%b7%a5%e5%85%b7-Rerere">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Tools-Rerere">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/Git-Tools-Rerere" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Tools-Rerere">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Tools-Rerere">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Tools-Rerere">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Git-Tools-Rerere">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Ferramentas-do-Git-Rerere">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-Tools-Rerere">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Git-Ara%c3%a7lar%c4%b1-Rerere">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/progit2-tl/progit2">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/tl/v2/Pagsisimula-Tungkol-sa-Bersyon-Kontrol">Pagsisimula</a></h2> <ol> <li> 1.1 <a href="/book/tl/v2/Pagsisimula-Tungkol-sa-Bersyon-Kontrol">Tungkol sa Bersyon Kontrol</a> </li> <li> 1.2 <a href="/book/tl/v2/Pagsisimula-Isang-Maikling-Kasaysayan-ng-Git">Isang Maikling Kasaysayan ng Git</a> </li> <li> 1.3 <a href="/book/tl/v2/Pagsisimula-Pangunahing-Kaalaman-sa-Git">Pangunahing Kaalaman sa Git</a> </li> <li> 1.4 <a href="/book/tl/v2/Pagsisimula-Ang-Command-Line">Ang Command Line</a> </li> <li> 1.5 <a href="/book/tl/v2/Pagsisimula-Pag-install-ng-Git">Pag-install ng Git</a> </li> <li> 1.6 <a href="/book/tl/v2/Pagsisimula-Unang-Beses-na-Pag-Setup-ng-Git">Unang Beses na Pag-Setup ng Git</a> </li> <li> 1.7 <a href="/book/tl/v2/Pagsisimula-Pagkuha-ng-Tulong">Pagkuha ng Tulong</a> </li> <li> 1.8 <a href="/book/tl/v2/Pagsisimula-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Pagkuha-ng-Repositoryo-ng-Git">Mga Pangunahing Kaalaman sa Git</a></h2> <ol> <li> 2.1 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Pagkuha-ng-Repositoryo-ng-Git">Pagkuha ng Repositoryo ng Git</a> </li> <li> 2.2 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Pagtatala-ng-mga-Pagbabago-sa-Repositoryo">Pagtatala ng mga Pagbabago sa Repositoryo</a> </li> <li> 2.3 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Pagtitingin-sa-Kasaysayan-ng-Commit">Pagtitingin sa Kasaysayan ng Commit</a> </li> <li> 2.4 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Pag-Undo-ng-mga-Bagay">Pag-Undo ng mga Bagay</a> </li> <li> 2.5 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Paggawa-gamit-ang-mga-Remote">Paggawa gamit ang mga Remote</a> </li> <li> 2.6 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Pag-tag">Pag-tag</a> </li> <li> 2.7 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Mga-Alyas-sa-Git">Mga Alyas sa Git</a> </li> <li> 2.8 <a href="/book/tl/v2/Mga-Pangunahing-Kaalaman-sa-Git-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/tl/v2/Pag-branch-ng-Git-Mga-Branch-sa-Maikling-Salita">Pag-branch ng Git</a></h2> <ol> <li> 3.1 <a href="/book/tl/v2/Pag-branch-ng-Git-Mga-Branch-sa-Maikling-Salita">Mga Branch sa Maikling Salita</a> </li> <li> 3.2 <a href="/book/tl/v2/Pag-branch-ng-Git-Batayan-ng-Pag-branch-at-Pag-merge">Batayan ng Pag-branch at Pag-merge</a> </li> <li> 3.3 <a href="/book/tl/v2/Pag-branch-ng-Git-Pamamahala-ng-Branch">Pamamahala ng Branch</a> </li> <li> 3.4 <a href="/book/tl/v2/Pag-branch-ng-Git-Mga-Daloy-ng-Trabaho-sa-Pag-branch">Mga Daloy ng Trabaho sa Pag-branch</a> </li> <li> 3.5 <a href="/book/tl/v2/Pag-branch-ng-Git-Remote-na-mga-Branch">Remote na mga Branch</a> </li> <li> 3.6 <a href="/book/tl/v2/Pag-branch-ng-Git-Pag-rebase">Pag-rebase</a> </li> <li> 3.7 <a href="/book/tl/v2/Pag-branch-ng-Git-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/tl/v2/Git-sa-Server-Ang-Mga-Protokol">Git sa Server</a></h2> <ol> <li> 4.1 <a href="/book/tl/v2/Git-sa-Server-Ang-Mga-Protokol">Ang Mga Protokol</a> </li> <li> 4.2 <a href="/book/tl/v2/Git-sa-Server-Pagkuha-ng-Git-sa-isang-Server">Pagkuha ng Git sa isang Server</a> </li> <li> 4.3 <a href="/book/tl/v2/Git-sa-Server-Ang-paglikha-ng-iyong-Pampublikong-Susi-ng-SSH">Ang paglikha ng iyong Pampublikong Susi ng SSH</a> </li> <li> 4.4 <a href="/book/tl/v2/Git-sa-Server-Pag-Setup-ng-Server">Pag-Setup ng Server</a> </li> <li> 4.5 <a href="/book/tl/v2/Git-sa-Server-Git-Daemon">Git Daemon</a> </li> <li> 4.6 <a href="/book/tl/v2/Git-sa-Server-Smart-HTTP">Smart HTTP</a> </li> <li> 4.7 <a href="/book/tl/v2/Git-sa-Server-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/tl/v2/Git-sa-Server-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/tl/v2/Git-sa-Server-Mga-Opsyon-ng-Naka-host-sa-Third-Party">Mga Opsyon ng Naka-host sa Third Party</a> </li> <li> 4.10 <a href="/book/tl/v2/Git-sa-Server-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/tl/v2/Distributed-Git-Distributed-Workflows">Distributed Git</a></h2> <ol> <li> 5.1 <a href="/book/tl/v2/Distributed-Git-Distributed-Workflows">Distributed Workflows</a> </li> <li> 5.2 <a href="/book/tl/v2/Distributed-Git-Contributing-to-a-Project">Contributing to a Project</a> </li> <li> 5.3 <a href="/book/tl/v2/Distributed-Git-Maintaining-a-Project">Maintaining a Project</a> </li> <li> 5.4 <a href="/book/tl/v2/Distributed-Git-Summary">Summary</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/tl/v2/GitHub-Pag-setup-at-pagsasaayos-ng-Account">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/tl/v2/GitHub-Pag-setup-at-pagsasaayos-ng-Account">Pag-setup at pagsasaayos ng Account</a> </li> <li> 6.2 <a href="/book/tl/v2/GitHub-Pag-aambag-sa-isang-Proyekto">Pag-aambag sa isang Proyekto</a> </li> <li> 6.3 <a href="/book/tl/v2/GitHub-Pagpapanatili-ng-isang-Proyekto">Pagpapanatili ng isang Proyekto</a> </li> <li> 6.4 <a href="/book/tl/v2/GitHub-Pamamahala-ng-isang-organisasyon">Pamamahala ng isang organisasyon</a> </li> <li> 6.5 <a href="/book/tl/v2/GitHub-Pag-iiskrip-sa-GitHub">Pag-iiskrip sa GitHub</a> </li> <li> 6.6 <a href="/book/tl/v2/GitHub-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagpipili-ng-Rebisyon">Mga Git na Kasangkapan</a></h2> <ol> <li> 7.1 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagpipili-ng-Rebisyon">Pagpipili ng Rebisyon</a> </li> <li> 7.2 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Staging-na-Interactive">Staging na Interactive</a> </li> <li> 7.3 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pag-stash-at-Paglilinis">Pag-stash at Paglilinis</a> </li> <li> 7.4 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pag-sign-sa-Iyong-Trabaho">Pag-sign sa Iyong Trabaho</a> </li> <li> 7.5 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Paghahanap">Paghahanap</a> </li> <li> 7.6 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagsulat-muli-ng-Kasaysayan">Pagsulat muli ng Kasaysayan</a> </li> <li> 7.7 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Ang-Reset-Demystified">Ang Reset Demystified</a> </li> <li> 7.8 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Advanced-na-Pag-merge">Advanced na Pag-merge</a> </li> <li> 7.9 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Ang-Rerere" class="active">Ang Rerere</a> </li> <li> 7.10 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagdebug-gamit-ang-Git">Pagdebug gamit ang Git</a> </li> <li> 7.11 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Mga-Submodule">Mga Submodule</a> </li> <li> 7.12 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagbibigkis">Pagbibigkis</a> </li> <li> 7.13 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagpapalit">Pagpapalit</a> </li> <li> 7.14 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Kredensyal-na-ImbakanCredential-Storage">Kredensyal na ImbakanCredential Storage</a> </li> <li> 7.15 <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/tl/v2/Pag-aangkop-sa-Sariling-Pangangailagan-ng-Git-Kompigurasyon-ng-Git">Pag-aangkop sa Sariling Pangangailagan ng Git</a></h2> <ol> <li> 8.1 <a href="/book/tl/v2/Pag-aangkop-sa-Sariling-Pangangailagan-ng-Git-Kompigurasyon-ng-Git">Kompigurasyon ng Git</a> </li> <li> 8.2 <a href="/book/tl/v2/Pag-aangkop-sa-Sariling-Pangangailagan-ng-Git-Mga-Katangian-ng-Git">Mga Katangian ng Git</a> </li> <li> 8.3 <a href="/book/tl/v2/Pag-aangkop-sa-Sariling-Pangangailagan-ng-Git-Mga-Hook-ng-Git">Mga Hook ng Git</a> </li> <li> 8.4 <a href="/book/tl/v2/Pag-aangkop-sa-Sariling-Pangangailagan-ng-Git-An-Example-Git-Enforced-Policy">An Example Git-Enforced Policy</a> </li> <li> 8.5 <a href="/book/tl/v2/Pag-aangkop-sa-Sariling-Pangangailagan-ng-Git-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/tl/v2/Ang-Git-at-iba-pang-mga-Sistema-Git-bilang-isang-Kliyente">Ang Git at iba pang mga Sistema</a></h2> <ol> <li> 9.1 <a href="/book/tl/v2/Ang-Git-at-iba-pang-mga-Sistema-Git-bilang-isang-Kliyente">Git bilang isang Kliyente</a> </li> <li> 9.2 <a href="/book/tl/v2/Ang-Git-at-iba-pang-mga-Sistema-Paglilipat-sa-Git">Paglilipat sa Git</a> </li> <li> 9.3 <a href="/book/tl/v2/Ang-Git-at-iba-pang-mga-Sistema-Buod">Buod</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Plumbing-and-Porcelain">Mga Panloob ng GIT</a></h2> <ol> <li> 10.1 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Plumbing-and-Porcelain">Plumbing and Porcelain</a> </li> <li> 10.2 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Git-Objects">Git Objects</a> </li> <li> 10.3 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Git-References">Git References</a> </li> <li> 10.4 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Packfiles">Packfiles</a> </li> <li> 10.5 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Ang-Refspec">Ang Refspec</a> </li> <li> 10.6 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Transfer-Protocols">Transfer Protocols</a> </li> <li> 10.7 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Pagpapanatili-At-Pagbalik-ng-Datos">Pagpapanatili At Pagbalik ng Datos</a> </li> <li> 10.8 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Mga-Variable-sa-Kapaligiran">Mga Variable sa Kapaligiran</a> </li> <li> 10.9 <a href="/book/tl/v2/Mga-Panloob-ng-GIT-Buod">Buod</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Grapikal-Interfaces">Appendix A: Git in Other Environments</a></h2> <ol> <li> A1.1 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Grapikal-Interfaces">Grapikal Interfaces</a> </li> <li> A1.2 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio">Git in Visual Studio</a> </li> <li> A1.3 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Git-sa-Eclipse">Git sa Eclipse</a> </li> <li> A1.4 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash">Git in Bash</a> </li> <li> A1.5 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh">Git in Zsh</a> </li> <li> A1.6 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Git-sa-Powershell">Git sa Powershell</a> </li> <li> A1.7 <a href="/book/tl/v2/Appendix-A:-Git-in-Other-Environments-Summary">Summary</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/tl/v2/Appendix-B:-Pag-embed-ng-Git-sa-iyong-Mga-Aplikasyon-Command-line-Git">Appendix B: Pag-embed ng Git sa iyong Mga Aplikasyon</a></h2> <ol> <li> A2.1 <a href="/book/tl/v2/Appendix-B:-Pag-embed-ng-Git-sa-iyong-Mga-Aplikasyon-Command-line-Git">Command-line Git</a> </li> <li> A2.2 <a href="/book/tl/v2/Appendix-B:-Pag-embed-ng-Git-sa-iyong-Mga-Aplikasyon-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/tl/v2/Appendix-B:-Pag-embed-ng-Git-sa-iyong-Mga-Aplikasyon-JGit">JGit</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Setup-at-Config">Appendix C: Mga Kautusan ng Git</a></h2> <ol> <li> A3.1 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Setup-at-Config">Setup at Config</a> </li> <li> A3.2 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Pagkuha-at-Paglikha-ng-Mga-Proyekto">Pagkuha at Paglikha ng Mga Proyekto</a> </li> <li> A3.3 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Pangunahing-Snapshotting">Pangunahing Snapshotting</a> </li> <li> A3.4 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Branching-at-Merging">Branching at Merging</a> </li> <li> A3.5 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Pagbabahagi-at-Pagbabago-ng-mga-Proyekto">Pagbabahagi at Pagbabago ng mga Proyekto</a> </li> <li> A3.6 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Pagsisiyasat-at-Paghahambing">Pagsisiyasat at Paghahambing</a> </li> <li> A3.7 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Debugging">Debugging</a> </li> <li> A3.8 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Patching">Patching</a> </li> <li> A3.9 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Email">Email</a> </li> <li> A3.10 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-External-Systems">External Systems</a> </li> <li> A3.11 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Administration">Administration</a> </li> <li> A3.12 <a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Pagtutuberong-mga-Utos">Pagtutuberong mga Utos</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.9 Mga Git na Kasangkapan - Ang Rerere</h1> <div> <h2 id="_rerere">Ang Rerere</h2> <div class="paragraph"> <p>Ang <code>git rerere</code> na pag-andar ay maliit na nakatagong tampok. Ang ibig sabihin ng pangalan ay “reuse recorded resolution” at, bilang nagpapahiwatig na pangalan, pinapayagan ka nitong hilingan ang Git na tandaan kung paano mo nalutas ang isang malaking naputol na pagsasalungat kaya sa susunod na makakita ito ng parehong pagkasalungat, ang Git ay maaaring malutas ito para sa iyo ng awtomatiko.</p> </div> <div class="paragraph"> <p>Mayroong mga bilang ng mga sitwasyon na kung saan ang pag-andar nito ay maaari talagang magaling. Isa sa mga halimbawa na nabanggit sa dokumentasyon ay kapag gusto mo na tiyakin ang isang matagal na paksa na branch ay ganap na pagsasama nang malinis, ngunit ayaw mong magkakaroon ng isang grupo ng intermediate merge na mga commit na nag-clutter pataas sa iyong kasaysayan ng commit. Sa <code>rerere</code> na pinagana, maaari kang magtangka sa minsang na-merge, lutasin ang mga pagkasalungat, pagkatapos ay i-atras ang pag-merge. Kung gagawin mo ito nang paulit-ulit, pagkatapos ay ang huling merge ay dapat na madali dahil sa <code>rerere</code> ay maaari lamang gawin ang lahat para sa iyo ng awtomatiko.</p> </div> <div class="paragraph"> <p>Ang parehong taktika ay maaaring gamitin kung gusto mong itago ang isang branch na naka-rebase rebased kaya hindi mo kailangang harapin ang parehong pag-rebase sa mga sumasalungat sa bawat oras na ginawa mo ito. O kung gusto mong kumuha ng isang branch na nai-merge mo at nag-ayos ng maraming mga pagkakasalugat at pagkatapos ay magpasya na i-rebase ito sa halip — malamang na hindi mo kailanganin gawin muli ang parehong mga pagkakasalungat muli.</p> </div> <div class="paragraph"> <p>Isa pang application sa <code>rerere</code> na kung saan ikaw ay mag merge ng maraming nagbabago na paksang mga branch magkasama sa isang pagsubok sa ulo pangminsan-minsan, bilang ang Git na proyekto sa kanyang sarili ay madalas na ginagawa. Kung ang pagsubok ay nabigo, maaari mong i-rewind ang mga merge at gawin muli sila ng walang paksa sa branch na ginawa mong pagsubok na walang nareresulba na mga pagsasalungat muli.</p> </div> <div class="paragraph"> <p>Para mapagana ang <code>rerere</code> na pag-andar, kailangan mo lang na patakbuhin ang config na setting na ito:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git config --global rerere.enabled true</code></pre> </div> </div> <div class="paragraph"> <p>Maaari mo ring buksan ito sa pamamagitan ng paglikha ng <code>.git/rr-cache</code> na direktoryo sa isang tiyak na repositoryo, ngunit ang config na setting ay mas malinaw at nagpapagana sa pag-andar sa buong mundo para sa iyo.</p> </div> <div class="paragraph"> <p>Ngayon tingnan natin ang isang simpleng halimbawa, katulad sa ating nakaraang isa. Sabihin natin na meron tayong isang file na pinangalanang <code>hello.rb</code> na ganito ang hitsura:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-ruby" data-lang="ruby">#! /usr/bin/env ruby def hello puts 'hello world' end</code></pre> </div> </div> <div class="paragraph"> <p>Sa isang branch ay binago natin ang salitang “hello” sa “hola”, pagkatapos sa ibang branch ay binago natin ang “world” sa “mundo”, tulad ng dati.</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/rerere1.png" alt="rerere1"> </div> </div> <div class="paragraph"> <p>Kapag na-merge natin ang dalawang mga branch na magkasama, makakuha tayo ng merge na nagkasalungat:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git merge i18n-world Auto-merging hello.rb CONFLICT (content): Merge conflict in hello.rb Recorded preimage for 'hello.rb' Automatic merge failed; fix conflicts and then commit the result.</code></pre> </div> </div> <div class="paragraph"> <p>Dapat mong mapansin ang bagong linya na <code>Recorded preimage for FILE</code> doon. Kung hindi man dapat itong magmukha na katulad ng isang normal na merge na pagkakasalungat. Sa puntong ito, ang <code>rerere</code> ay maaaring sabihin natin ang ilang mga bagay. Karaniwan, maaari mong patakbuhin ang <code>git status</code> sa puntong ito upang tingnan ang lahat na nagkasalungat:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git status # On branch master # Unmerged paths: # (use "git reset HEAD &lt;file&gt;..." to unstage) # (use "git add &lt;file&gt;..." to mark resolution) # # both modified: hello.rb #</code></pre> </div> </div> <div class="paragraph"> <p>Gayunpaman, ang <code>git rerere</code> ay magsasabi din sa iyo kung ano ang natala na pre-merge na estado para sa <code>git rerere status</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere status hello.rb</code></pre> </div> </div> <div class="paragraph"> <p>At ang <code>git rerere diff</code> ay nagpapakita sa kasalukuyang estado sa resolusyon — kung ano ang iyong sinimulan sa paglutas at ano ang iyong nalutas na ito.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere diff --- a/hello.rb +++ b/hello.rb @@ -1,11 +1,11 @@ #! /usr/bin/env ruby def hello -&lt;&lt;&lt;&lt;&lt;&lt;&lt; - puts 'hello mundo' -======= +&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD puts 'hola world' -&gt;&gt;&gt;&gt;&gt;&gt;&gt; +======= + puts 'hello mundo' +&gt;&gt;&gt;&gt;&gt;&gt;&gt; i18n-world end</code></pre> </div> </div> <div class="paragraph"> <p>Gayundin (at ito ay hindi talagang may kaugnayan sa <code>rerere</code>), maaari mong gamitin ang <code>git ls-files -u</code> para tingnan ang nagkasalungat na mga file at ang bago, kaliwa at kanan na mga bersyon:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git ls-files -u 100644 39804c942a9c1f2c03dc7c5ebcd7f3e3a6b97519 1 hello.rb 100644 a440db6e8d1fd76ad438a49025a9ad9ce746f581 2 hello.rb 100644 54336ba847c3758ab604876419607e9443848474 3 hello.rb</code></pre> </div> </div> <div class="paragraph"> <p>Ngayon ay maaari mong malutas ito sa pagtulas na ito lang ang <code>puts 'hola mundo'</code> at maaari mong patakbuhin ang <code>git rerere diff</code> muli upang tingnan kung anong rerere ay maalala:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere diff --- a/hello.rb +++ b/hello.rb @@ -1,11 +1,7 @@ #! /usr/bin/env ruby def hello -&lt;&lt;&lt;&lt;&lt;&lt;&lt; - puts 'hello mundo' -======= - puts 'hola world' -&gt;&gt;&gt;&gt;&gt;&gt;&gt; + puts 'hola mundo' end</code></pre> </div> </div> <div class="paragraph"> <p>Kaya talagang sabi, kapag ang Git ay nakakita ng maraming pagkakasalungat sa isang <code>hello.rb</code> na file na mayroong “hello mundo” sa ibang panig at ang “hola world” ay sa kabila, ito ay maglulutas sa “hola mundo”.</p> </div> <div class="paragraph"> <p>Ngayon ay markahan natin ito bilang nalutas at na-commit ito:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git add hello.rb $ git commit Recorded resolution for 'hello.rb'. [master 68e16e5] Merge branch 'i18n'</code></pre> </div> </div> <div class="paragraph"> <p>Maaari mong makita itong "Recorded resolution for FILE".</p> </div> <div class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/rerere2.png" alt="rerere2"> </div> </div> <div class="paragraph"> <p>Ngayon, i-undo natin ang na-merge at pagkatapos i-rebase ito sa itaas sa ating master branch sa halip. Maaari nating ilipat ang ating branch pabalik sa pamamagitan ng pagagamit ng <code>git reset</code> tulad ng nakita natin sa <a href="/book/tl/v2/ch00/_git_reset">Ang Reset Demystified</a>.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git reset --hard HEAD^ HEAD is now at ad63f15 i18n the hello</code></pre> </div> </div> <div class="paragraph"> <p>Ang ating merge ay hindi natapos. Ngayon i-rebase natin ang paksa na branch.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout i18n-world Switched to branch 'i18n-world' $ git rebase master First, rewinding head to replay your work on top of it... Applying: i18n one word Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merging hello.rb CONFLICT (content): Merge conflict in hello.rb Resolved 'hello.rb' using previous resolution. Failed to merge in the changes. Patch failed at 0001 i18n one word</code></pre> </div> </div> <div class="paragraph"> <p>Ngayon, nakuha na namin ang parehong marge na pagkakasalungat tulad ng inaasahan, ngunit tingnan ang <code>Resolved FILE using previous resolution</code> na linya. Kung titingnan namin ang file, makikita namin na ito ay nalutas na, walang nagkakasalungat na mga marka nito.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-ruby" data-lang="ruby">#! /usr/bin/env ruby def hello puts 'hola mundo' end</code></pre> </div> </div> <div class="paragraph"> <p>Gayundin, ang <code>git diff</code> ay nagpapakita sa iyo kung papaano ito awtomatikong nalutas:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git diff diff --cc hello.rb index a440db6,54336ba..0000000 --- a/hello.rb +++ b/hello.rb @@@ -1,7 -1,7 +1,7 @@@ #! /usr/bin/env ruby def hello - puts 'hola world' - puts 'hello mundo' ++ puts 'hola mundo' end</code></pre> </div> </div> <div class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/rerere3.png" alt="rerere3"> </div> </div> <div class="paragraph"> <p>Maaari ka ding lumikha sa nagkasalungat na file na estado gamit ang <code>git checkout</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout --conflict=merge hello.rb $ cat hello.rb #! /usr/bin/env ruby def hello &lt;&lt;&lt;&lt;&lt;&lt;&lt; ours puts 'hola world' ======= puts 'hello mundo' &gt;&gt;&gt;&gt;&gt;&gt;&gt; theirs end</code></pre> </div> </div> <div class="paragraph"> <p>Nakita namin ang halimbawa nito sa <a href="/book/tl/v2/ch00/_advanced_merging">Advanced na Pag-merge</a>. Para sa ngayon bagaman, muling lutasin ito sa pamamagitan ng pagpapatakbo ng <code>git rerere</code> muli:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git rerere Resolved 'hello.rb' using previous resolution. $ cat hello.rb #! /usr/bin/env ruby def hello puts 'hola mundo' end</code></pre> </div> </div> <div class="paragraph"> <p>Meron kaming nalutas na file na awtomatikong gumagamit ng <code>rerere</code> na cached na resolusyon. Maaari mo na ngayong idagdag at ipagpatuloy ang pag-rebase upang tapusin ito.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git add hello.rb $ git rebase --continue Applying: i18n one word</code></pre> </div> </div> <div class="paragraph"> <p>Kaya, kung ikaw ay maraming gagawin na mga pag-remerge, o nais na panatilihin ang isang paksa na branch na bagong-bago sa maraming mga merge, o madalas mong i-rebase, maaari mong i-on ang <code>rerere</code> upang tulungan ang iyong buhay nang kaunti.</p> </div> <div id="nav"><a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Advanced-na-Pag-merge">prev</a> | <a href="/book/tl/v2/Mga-Git-na-Kasangkapan-Pagdebug-gamit-ang-Git">next</a></div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>

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