CINXE.COM

Git - GitLab

<!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 - GitLab</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-on-the-Server-GitLab">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Server%e2%80%99d%c9%99-Git-GitLab">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Git-auf-dem-Server-GitLab">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Git-en-el-Servidor-GitLab">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Git-sur-le-serveur-GitLab">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja/v2/Git%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc-GitLab">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git-%ec%84%9c%eb%b2%84-GitLab">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Git-op-de-server-GitLab">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/Git-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b5-GitLab">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Git-na-stre%c5%beniku-GitLab">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Git-sa-Server-GitLab">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/Git-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d1%96-GitLab">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e7%9a%84-Git-GitLab">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/Git-na-serveru-GitLab">Čeština</a>,</td></tr> <tr><td><a href="/book/mk/v2/Git-%d0%bd%d0%b0-%d0%a1%d0%b5%d1%80%d0%b2%d0%b5%d1%80-GitLab">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Git-na-serwerze-GitLab">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%93%d0%b8%d1%82-%d0%bd%d0%b0-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d1%83-GitLab">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b4%d0%b0-GitLab">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/%e4%bc%ba%e6%9c%8d%e5%99%a8%e4%b8%8a%e7%9a%84-Git-GitLab">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-on-the-Server-GitLab">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/%da%af%db%8c%d8%aa-%d8%b1%d9%88%db%8c-%d8%b3%d8%b1%d9%88%d8%b1-%da%af%db%8c%d8%aa%e2%80%8c%d9%84%d8%a8" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-di-Server-GitLab">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-on-the-Server-GitLab">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-on-the-Server-GitLab">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Git-no-servidor-GitLab">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Git-no-Servidor-GitLab">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-p%c3%a5-servern-GitLab">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Bir-Sunucuda-Git-Kurma-GitLab">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" class="active">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">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>4.8 Git sa Server - GitLab</h1> <div> <h2 id="_gitlab">GitLab</h2> <div class="paragraph"> <p> Bagaman, ang GitWeb ay masyadong simple. Kung ikaw ay naghahanap na isang mas moderno, puno ng mga tampok na Git server, mayroong iilang open source na solusyon na maaari mong i-install sa halip. Dahil ang GitLab ang isa sa mga sikat, tatalakayin natin ang pag-install at paggamit nito bilang halimbawa. Ito ay mas mahirap kumpara sa opsyon ng GitWeb at maaaring mangangailangan ng mas maraming pagpapanatili, pero ito ay mas puno ng mga tapok na opsyon.</p> </div> <div class="sect3"> <h3 id="_pag_install">Pag-install</h3> <div class="paragraph"> <p>Ang GitLab ay isang database-backed na aplikasyon sa web, kaya subsob ka sa pag-install nito kumpara sa ibang mga server ng Git. Sa kabutihang-palad, ang proseso na ito ay maayos na nakadokumento at sinuportahan.</p> </div> <div class="paragraph"> <p>Mayroong iilang mga pamamaraan para magawa mo ang pag-install ng GitLab. Para mapagana at mapatakbo ang isang bagay nang mabilisan, maaaring i-download ang isang birtwal na imahe ng makina or isang one-click na installer mula sa <a href="https://bitnami.com/stack/gitlab" class="bare">https://bitnami.com/stack/gitlab</a>, at i-tweak ang pagsasaayos upang matugma sa iyong partikular na environment. Isang magandang tampok na sinali ng Bitnami ay isang login screen (ma-access sa pamamagitan ng pag-type ng alt+→); sinasabi nito sayo ang IP address at default username at password para sa na-install na GitLab.</p> </div> <div id="bitnami" class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/bitnami.png" alt="Ang login screen sa birtwal na makina ng Bitnami GitLab."> </div> <div class="title">Figure 50. Ang login screen sa birtwal na makina ng Bitnami GitLab.</div> </div> <div class="paragraph"> <p>Para sa iba pang bagay, sundin ang gabay sa Komunidad na Edisyon ng Gitlab readme, na mahahanap sa <a href="https://gitlab.com/gitlab-org/gitlab-ce/tree/master" class="bare">https://gitlab.com/gitlab-org/gitlab-ce/tree/master</a>. Doon makakahanap ka ng tulong para sa pag-install ng GitLab gamit ang mga resipe ng chef, isang birtwal na makina sa Digital Ocean, at RPM at DEB na mga pakete (kung saan, sa pagsulat na ito, ay nasa beta). Mayroon ding “unofficial” na pag-gabay sa pagpapagana sa GitLab gamit ang hindi kilala na mga operating system at mga database, isang ganap na manu-manong pag-install na iskrip, at marami pang ibang mga paksa.</p> </div> </div> <div class="sect3"> <h3 id="_administrasyon">Administrasyon</h3> <div class="paragraph"> <p>Ang administrasyon sa interface ng GitLab ay maaaring ma access sa web. Simpleng tukuyin lamang ang iyong browser sa hostname at IP address kung saan naka-install ang GitLab, at mag-login bilang admin na user. Ang default na username ay <code>admin@local.host</code>, at ang default na password ay <code>5iveL!fe</code> (na kung saan ikaw ay sasabihan na baguhin sa sandali na maka-log in ka). Kapag naka-log in na, pindutin ang “Admin area” na icon sa menu sa itaas na kanan na bahagi ng pahina.</p> </div> <div id="gitlab_menu" class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/gitlab-menu.png" alt="Ang ``Admin area'' na aytem sa menu ng GitLab."> </div> <div class="title">Figure 51. Ang “Admin area” na aytem sa menu ng GitLab.</div> </div> <div class="sect4"> <h4 id="_mga_gumagamit">Mga Gumagamit</h4> <div class="paragraph"> <p>Ang mga gumagamit sa GitLab ay mga account na tumutugma sa mga tao. Ang mga account ng mga gumagamit ay hindi gaano kakumplikado; higit sa lahat ito ay koleksyon ng mga personal na impormasyon na nakalakip sa datos ng login. Ang bawat account ng gumagamit ay may sariling <strong>namespace</strong>, na kung saan ay isang lohikal na pagpapangkat ng mga proyekto na nabibilang sa gumagamit na iyon. Kung ang user <code>jane</code> ay may proyekto na nakapangalan na <code>proyekto</code>, ang url ng proyekto na iyon ay <a href="http://server/jane/proyekto" class="bare">http://server/jane/proyekto</a>.</p> </div> <div id="gitlab_users" class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/gitlab-users.png" alt="Ang screen ng administrasyon na gumagamit sa GitLab."> </div> <div class="title">Figure 52. Ang screen ng administrasyon na gumagamit sa GitLab.</div> </div> <div class="paragraph"> <p>Mayroong dalawang paraan sa pagtanggal ng isang user. Sa “Blocking” pinipigilan ang isang gumagamit mula sa pag-login sa instansya ng GitLab, ngunit lahat ng datos sa ilalim ng namespace ng gumagamit ay mapapanatili, at ang mga commit na naka-sign ng email address ng gumagamit ay mag-link pa rin pabalik sa kanilang profile.</p> </div> <div class="paragraph"> <p>Sa kabilang kamay, ang ‘`Destroying’ ay ganap na tinatanggal sa database at filesystem. Lahat ng mga proyekto at datos sa kanilang namespace ay tinatanggal, at anumang mga grupo na pagmamay-ari nila ay matatangal rin. Ito ay malinaw naman na isang mas permanente at mas nakakasira na galaw, at ang paggamit nito ay bihira.</p> </div> </div> <div class="sect4"> <h4 id="_gitlab_groups_section">Mga Grupo</h4> <div class="paragraph"> <p>Ang isang grupo sa GitLab ay pagtitipon ng mga proyekto, kasama ang mga datos tungkol sa kung paano ma-access ng gumagamit ang proyektong iyon. Bawat grupo ay may sariling namespace ng proyekto (tulad ng mga gumagamit), kaya kung ang grupo ng <code>pagsasanay</code> ay may pryoyektong <code>materyales</code>, ang url na iyon ay <a href="http://server/pagsasanay/materyales" class="bare">http://server/pagsasanay/materyales</a>.</p> </div> <div id="gitlab_groups" class="imageblock"> <div class="content"> <img src="/book/tl/v2/images/gitlab-groups.png" alt="Ang screen sa administrasyon ng grupo sa GitLab."> </div> <div class="title">Figure 53. Ang screen sa administrasyon ng grupo sa GitLab.</div> </div> <div class="paragraph"> <p>Ang bawat grupo ay nauugnay sa ilang bilang ng mga gumagamit, bawat isa ay may antas ng mga pahintulot para sa mga proyekto ng grupo at ang grupo mismo. Ang saklaw nito ay nagmumula sa “Guest” (mga isyu at pag-chat lamang) hanggang “Owner” (buong kontrol sa grupo, mga miyembro nito, at mga proyekto nito). Masyadong marami ang mga klase ng pahintulot para malista dito, ngunit mayroong kapaki-pakinabang na link sa screen ng administrasyon ang GitLab.</p> </div> </div> <div class="sect4"> <h4 id="_mga_proyekto">Mga Proyekto</h4> <div class="paragraph"> <p>Halos lahat ng proyekto sa GitLab ay tumutugma sa isang repositoryo sa Git. Bawat proyekto ay nabibiling sa isang namespace, maski isang gumagamit o isang grupo. Kung ang proyekto ay nabibilang sa isang gumagamit, ang may-ari ng proyekto ay may direktang kontrol kung sino ang may access sa proyekto; kung ang proyekto ay nabibilang sa isang grupo, ang user-level na pahintulot ng grupo ang eepekto.</p> </div> <div class="paragraph"> <p>Bawat proyekto ay may antas rin ng kakayahang makita, kung saan ay may kapangyarahin sa pag-kontrol kung sino ang may access sa pagbasa sa mga pahina at repositoryo ng proyektong iyon. Kung ang proyekto ay <em>Private</em>, ang may-ari ng proyekto ay dapat tahasang magbigay ng access sa partikular na gumagamit. Ang isang <em>Internal</em> na proyekto ay makikita ng sinuman na gumagamit na naka-log, at ang isang <em>Public</em> na proyekto ay makikita ng sinuman. Tandaan na ang mga ito ay kumokontrol sa <code>git fetch</code> na access pati na rin ang access sa web UI ng proyekto na iyon.</p> </div> </div> <div class="sect4"> <h4 id="_mga_hook">Mga Hook</h4> <div class="paragraph"> <p>Sinuportahan din ng GitLab ang mga hook, pareho sa antas ng proyekto o sistema. Para sa alinman sa mga ito, ang GitLab na server ay magsasagawa ng isang HTTP POST kasama ang iilang naglalarawang JSON sa tuwing may nagaganap na kaganapan na may kaugnayan. Ito ay isang mahusay na paraan upang i-kontekta ang iyong mga repositoryo sa Git at instansya ng GitLab sa ibang bahagi ng iyong pag-automate ng pag-unlad, tulad ng mga server ng CI, mga chat room, o mga kagamitan sa pag-deploy.</p> </div> </div> </div> <div class="sect3"> <h3 id="_pangunahing_paggamit">Pangunahing Paggamit</h3> <div class="paragraph"> <p>Ang unang bagay na gusto mong gawin gamit ang GitLab ay lumikha ng isang bagong proyekto. Ito ay ginagawa sa pamamagitan ng pag-click sa “+” na icon sa toolbar. Tatanungin ka para sa pangalan ng proyekto, kung saan na namespace ito nabibilang, at kung ano ang antas ng kakayahang makita nito. Karamihan sa mga iyong tinukoy dito ay hindi permanente, at maaaring muling maayos sa sunod sa pamamagitan ng interface sa mga setting. I-click ang “Create Project”, at tapos ka na.</p> </div> <div class="paragraph"> <p>Kapag umiiral na ang proyekto, malamang ay gugustuhin mong kumonekta sa isang lokal na repositoryo sa Git. Bawat proyekto ay naa-access sa HTTPS o SSH, alinman ay maaaring gamiting upang i-configure ang isang remote na Git. Ang mga URL ay makikita sa itaas sa pahina ng home page ng proyekto. Para sa umiiral na lokal na repositoryo, ang utos na ito ay lilikha ng isang remote na nakapangalan na <code>gitlab</code> sa naka-host na lokasyon:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git remote add gitlab https://server/namespace/project.git</code></pre> </div> </div> <div class="paragraph"> <p>Kung wala kang lokal na kopya sa repositoryo, maaari mong gawin ito:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ git clone https://server/namespace/project.git</code></pre> </div> </div> <div class="paragraph"> <p>Ang web UI ay nagbibigay ng access sa ilang mga kapaki-pakinabang na tanawin sa repositoryo mismo. Bawat home page ng proyekto ay nagpapakita ng kamakailang mga gawain, at mga link sa tuktok ay dadalhin ka mga tanawin ng mga file ng proyekto at ang commit log.</p> </div> </div> <div class="sect3"> <h3 id="_pakikipagtulungan">Pakikipagtulungan</h3> <div class="paragraph"> <p>Ang pinakasimpleng paraan ng pakikipagtulungan sa isang proyekto ng GitLab ay sa pamamagitan ng pagbigay access sa ibang gumagamit na direktang mag-push sa repositoryo ng Git. Maaari kang magdagdag ng miyembro sa proyekto sa pamamagitan ng pagpunta sa “Members” na seksyon ng mga setting ng proyekto, at pag-uugnay sa bagong gumagamit ng antas ng pag-access (ang iba’t ibang mga antas ng pag-access ay tinalakay ng kaunti sa <a href="/book/tl/v2/ch00/_gitlab_groups_section">Mga Grupo</a>). Sa pamamagitan ng pagbigay sa isang gumagamit ng antas ng pag-access na “Developer” o mataas pa, ang user na iyon ay maaaring mag push ng direkta ng mga commit at mga branch sa repositoryo ng walang parusa.</p> </div> <div class="paragraph"> <p>Isa pa, ang isang mas decoupled na paraan ng kolaborasyon ay sa pamamagitan ng paggamit ng mga merge na request. Ang tampok na ito ay nagbibigay daan para sa sinumang gumagamit na nakakakita sa proyekto na mag-ambag sa isang kontrolado na paraan. Ang mga gumagamit na may direktang access ay maaaring gumawa ng branch, mag-push ng mga commit sa branch na iyon, at mag open ng isang merge na request mula sa kanilang branch pabalik sa <code>master</code> o anumang ibang branch. Ang mga gumagamit na walang pahintulot na mag-push sa isang repositoryo ay maaaring mag “fork” nito (gumawa ng sariling kopya), mag push ng mga commit sa <em>iyong</em> kopya, at mag bukas ng isang merge na request mula sa kanilang fork pabalik sa pangunahing proyekto. Ang modelong ito ay nagpapahintulot sa mga may-ari na magkaroon ng buong kontrol kung ano ang pumapasok sa repositoryo at kailan, habang nagpapahintulot sa mga kontribusyon mula sa hindi pinagkakatiwalaan na mga gumagamit.</p> </div> <div class="paragraph"> <p>Ang mga merge na request at mga isyu ay ang mga pangunahing yunit ng matagal na nabubuhay na diskusyon sa GitLab. Bawat merge na request ay nagpapahintulot ng bawat linya na diskusyon sa iminungkahi na pagbabago (na sumusuporta sa isang magaan na klase ng pagsusuri sa code), pati na rin ang isang thread para sa pangkalahatang talakayan. Parehong maaaring italaga sa mga gumagamit, o organisado sa mga milestones.</p> </div> <div class="paragraph"> <p>Ang seksyon na ito ay nakatuon sa mga may kaugnayan sa Git na tampok ng GitLab, pero bilang isang ganap na proyekto, nagbibigay ito ng marami pang iba na mga tampok upang makatulong sa inyong koponon na magtulungan, tulad ng mga wiki sa proyekto at mga kagamitan para sa pagpapanatili ng sistema. Isang benepisyo ng GitLab ay, kapag ang server ay naka-set up na, bihira mo na kailangan baguhin ang file ng pagsasaayos o i-access ang server gamit ang SSH; karamihan sa administrasyon at pangunahing paggamit ay maaaring matupad sa pamamagitan ng interface sa browser.</p> </div> </div> <div id="nav"><a href="/book/tl/v2/Git-sa-Server-GitWeb">prev</a> | <a href="/book/tl/v2/Git-sa-Server-Mga-Opsyon-ng-Naka-host-sa-Third-Party">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