-
1. Pagsisimula
-
2. Mga Pangunahing Kaalaman sa Git
-
3. Pag-branch ng Git
-
4. Git sa Server
- 4.1 Ang Mga Protokol
- 4.2 Pagkuha ng Git sa isang Server
- 4.3 Ang paglikha ng iyong Pampublikong Susi ng SSH
- 4.4 Pag-Setup ng Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Mga Opsyon ng Naka-host sa Third Party
- 4.10 Buod
-
5. Distributed Git
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Summary
-
6. GitHub
-
7. Mga Git na Kasangkapan
- 7.1 Pagpipili ng Rebisyon
- 7.2 Staging na Interactive
- 7.3 Pag-stash at Paglilinis
- 7.4 Pag-sign sa Iyong Trabaho
- 7.5 Paghahanap
- 7.6 Pagsulat muli ng Kasaysayan
- 7.7 Ang Reset Demystified
- 7.8 Advanced na Pag-merge
- 7.9 Ang Rerere
- 7.10 Pagdebug gamit ang Git
- 7.11 Mga Submodule
- 7.12 Pagbibigkis
- 7.13 Pagpapalit
- 7.14 Kredensyal na ImbakanCredential Storage
- 7.15 Buod
-
8. Pag-aangkop sa Sariling Pangangailagan ng Git
- 8.1 Kompigurasyon ng Git
- 8.2 Mga Katangian ng Git
- 8.3 Mga Hook ng Git
- 8.4 An Example Git-Enforced Policy
- 8.5 Buod
-
9. Ang Git at iba pang mga Sistema
- 9.1 Git bilang isang Kliyente
- 9.2 Paglilipat sa Git
- 9.3 Buod
-
10. Mga Panloob ng GIT
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 Ang Refspec
- 10.6 Transfer Protocols
- 10.7 Pagpapanatili At Pagbalik ng Datos
- 10.8 Mga Variable sa Kapaligiran
- 10.9 Buod
-
A1. Appendix A: Git in Other Environments
- A1.1 Grapikal Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git sa Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git sa Powershell
- A1.7 Summary
-
A2. Appendix B: Pag-embed ng Git sa iyong Mga Aplikasyon
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix C: Mga Kautusan ng Git
- A3.1 Setup at Config
- A3.2 Pagkuha at Paglikha ng Mga Proyekto
- A3.3 Pangunahing Snapshotting
- A3.4 Branching at Merging
- A3.5 Pagbabahagi at Pagbabago ng mga Proyekto
- A3.6 Pagsisiyasat at Paghahambing
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Pagtutuberong mga Utos
A3.5 Appendix C: Mga Kautusan ng Git - Pagbabahagi at Pagbabago ng mga Proyekto
Pagbabahagi at Pagbabago ng mga Proyekto
Walang masyadong maraming mga utos sa Git na may access sa network, halos ang lahat ng mga utos ay gumagana sa lokal na database. Kung ikaw ay handa ng ibahagi ang iyong trabaho o mag-pull ng pagbabago galing sa ibang lugar, mayroon kakaunting mga utos na tumatalakay sa malayong mga repositoryo.
git fetch
Ang git fetch
na utos ay nakikipag-usap sa malayong repositoryo at kumukuha ng lahat ng impormasyon na nasa loob ng repositoryo na hindi kasali sa iyong kasalukuyan at iniimbak ito sa iyong lokal na database.
Una naming tiningnan ang utos na ito sa Pag-fetch at Pag-Pull mula sa iyong mga Remote at patuloy nating makikita ang mga halimbawa sa paggamit nito sa Remote na mga Branch.
Ginamit din namin ito sa iilang mga halimbawa sa Contributing to a Project.
Ginamit namin ito para kumuha ng nag-iisang tiyak na sanggunian na nasa labas ng default na lugar sa Refs ng Kahilingan na Pull at nakita din natin kung paano kunin ang nanggaling sa bigkis sa Pagbibigkis.
Nagset-up kami ng napakainam na custom refspecs para lang makagawa ng git fetch
ng bagay na medyo naiiba kaysa sa sanggunian sa Ang Refspec.
git pull
Ang git pull
na utos ay ang pagsasama ng git fetch
at git merge
na mga utos, kung saan ang Git ay kukuha galing sa remote na iyong itinalaga at pagkatapos ay agarang susubok para ito ay i-merge sa branch na aktibo.
Panandaliang pinakilala namin ito sa Pag-fetch at Pag-Pull mula sa iyong mga Remote at pinakita kung paano mo makikita kung ano ang i-merge kung ito ay pinatakbo mo sa Pagsusuri sa Remote.
Makikita din natin kung paano mo ito magagamit sa pagtulong sa mga mahihirap na pag-rebase sa Mag-rebase Kung Ikaw ay Mag-rebase.
Pinakita namin kung paano mo gamitin ito sa pamamagitan ng URL para i-pull ang mga pagbabago sa gamit lamang ng isang paraan sa Checking Out Remote Branches.
Finally, we very quickly mention that you can use the --verify-signatures
option to it in order to verify that commits you are pulling have been GPG signed in Pag-sign ng mga Commit.
Sa panghuli, panandaliang na banggit namin na pwede mong gamitin ang --verify-signatures
na opsyon para lang mapatunayan kung ang mga commit na iyong kinukuha ay mayroong signatura ng GPG sa Pag-sign ng mga Commit.
git push
Ang git push
na utos ay ginamit para makipag-usap sa ibang repositoryo, kuwentahin kung ano ang meron sa lokal na database mo na wala sa remote, at pagkatapos ay i-push ang mga pagkakaiba sa ibang repositoryo.
Ito ay mangangailangan ng access sa pagsulat para sa ibang repositoryo at sa pangkaraniwan ay napatunayan kahit na paano.
Una nating nakita ang git push
na utos sa Pagtulak sa iyong mga Remote.
Dito natalakay natin ang mga pangunahin ng pag-push sa branch para sa remote na repositoryo.
Sa Pag-push tinalakay natin na mas malalim para sa pag-push ng tiyak na mga branch at sa Sumusubaybay na mga Branch makikita natin paano magset-up ng pagsubaybay ng mga branch para awtomatikong i-push ito.
Sa Pagbubura ng Remote na mga Branch ginamit natin ang --delete
na flag para ibura ang branch sa server sa pamamagitan ng git push
.
Sa buong Contributing to a Project makikita natin ang iilang mga halimbawa sa paggamit ng git push
para ibahagi ang ginawa sa mga branch sa pamamagitan ng maraming mga remote.
Makikita natin kung paano gamitin ito para ibahagi ang mga tag na ginawa mo sa pamamagitan ng --tags
na opsyon sa Pagbabahagi ng mga Tag.
Sa Paglalathala sa mga Pagbabago ng Submodule ginamit natin ang --recurse-submodules
na opsyon para suriin kung ang lahat ng mga submodule na ginawa natin ay naihayag bago pa sa pag-push ng superproject, kung saan ay napakikinabangan sa paggamit ng mga submodule.
Sa Ibang mga Hook ng Kliyente pinag-usapan natin ng maikli tungkol sa pre-push
na hook, ito ay isang script na pwedeng patakbuhin bago matapos ang pag-push para mapatunayan na ito ay may pahintulot para i-push.
Finally, in Pag-push Ng Mga Refspec we look at pushing with a full refspec instead of the general shortcuts that are normally used. This can help you be very specific about what work you wish to share.
Sa panghuli, sa Pag-push Ng Mga Refspec tiningnan natin ang pag-push na puno ang refspec imbes sa karaniwang mga shortcut na madalas ginamit.
git remote
Ang git remote
na utos ay isang pamamahala na tool para sa iyong talaan ng mga remote na repositoryo.
Ito ay nagpapahintulot sa iyo upang i-save ang mga mahahabang URL bilang maiikling mga hawakan, gaya ng “origin” para hindi mo na kailangang i-type ng paulit-ulit sa lahat ng oras.
Maari kang magkaroon ng iilan sa mga ito at ang git remote
na utos ay ginamit para magdagdag, magbago at magbura sa mga ito.
Ang utos na ito ay tinalakay ng detalye sa Paggawa gamit ang mga Remote, kasali na ang paglista, pagdagdag, pagtanggal at ang pagbabago ng pangalan nila.
Ito ay ginamit din sa halos bawat na kasunod na kabanata sa libro, ngunit lagi sa pamantayan ng git remote add <name> <url>
na format.
git archive
Ang git archive
na utos ay ginamit para gumawa ng archive na file sa tiyak na snapshot ng proyekto.
Ginamit natin ang git archive
para gumawa ng isang tarball ng proyekto para sa pagbabahagi sa Preparing a Release.
git submodule
Ang git submodule
na utos ay ginamit para pamahalaan ang panlabas na mga repositoryo sa loob ng normal na mga repositoryo.
Ito ay maaring para sa mga library o ibang uri ng nagsalong mga pinagkukunan.
Ang submodule
na utos ay merong iilang mga sub-command (add
, update
, sync
, etc) para sa pamamahala ng pinagkukunan ng mga ito.
Ang utos na ito ay nabanggit lamang at lubos na tinalakay sa Mga Submodule.