Lakona Rondvojaĝo de Gito kaj GitHub
Sciu kiel solvi ĉiujn solvitajn problemon.
—Richard P. FEYNMAN
Enhavotabelo
Enkonduko
Ĉi tiu lakona gvidilo montros laborfluon per Gito kaj GitHub. Rapida interreta serĉo pri gitaj laborfluoj revenas multspecajn rezultojn. Ĉi tiu artikolo priskribas nur unu el la eblaj manieroj de uzi giton kun gita gastiga servo kiel GitHub.
En ĉi tiu artikolo, la simbolo $
reprezentas la inviton. Por demonstradaj celoj, ni uzos la redaktilon nano . Tamen, kion ajn redaktilon oni liberas uzi.
Bazaferoj
Komenca uzo
Por plifaciligi la aferojn poste, oni devas krei .gitignore
-dosieron. La .gitignore-dosiero precizigas la dosierojn kiuj estas ekskluditaj el la deponejo. Multaj el ĉi tiuj estas duumaj dosieroj kaj eraraj mesaĝoj kiuj estis kreitaj dum kompilado.
.gitignore
-dosieroj specifas la tipon de projekto. Bona loko por precizigi tion, kion .gitignore devas enhavi estas gitignore.io. Precizigi la tipon de projektoen la kampo, tiam alklaku Generate, tiam kopiu le eligon al la tondejo.
Kreu dosierujon por la projekto, tiam iru al tiu dosierujo:
$ mkdir foobar
$ cd foobar
Redaktu la .gitignore
-dosieron en la aktuala dosierujo:
$ nano .gitignore
Tiam, algluu la enhavon de la tondejo. Konservu la ŝanĝojn.
Oni nun povas pravalorizi la gitan deponejon:
$ git init
Komence, aldonu ĉiom da dosieroj en la aktuala dosierujo:
$ git add .
Tiam, la ŝanĝojn enmetu:
$ git commit -m "Pravalorizu novdeponejon"
Sekvontaj uzadoj
Ĉi tiu sekcio priskribas la bazajn komandojn kiuj oni uzos kiam oni jam havas deponejon.
Kreu branĉon kiu tenas la ŝanĝojn:
$ git checkout -b eksperimentaj
Se oni volas aldoni dosieron al la deponejo:
$ git add Blah.java
Kiam oni faris ŝanĝojn al la dosieroj, scenigu ilin:
$ git add -u
Por montri la ŝanĝojn kiujn oni scenigis:
$ git diff
Por enmeti la ŝanĝojn:
$ git commit -m "Ŝanĝojn faru"
Por montri la enmetoprotokolon:
$ git log
Por montri la enmetoprotokolon kun la diferencoj:
$ git log -p
Kiam stabilas la ŝanĝoj, kiujn oni jam testis, ŝaltu al la master
-branĉo:
$ git checkout master
Tiam, kunfandu eksperimentaj
:
$ git merge eksperimentaj
Post tio, oni povas forviŝi la eksperimentaj
-branĉon:
$ git branch -d eksperimentaj
Labori enrete
Ĉi tiu sekcio priskribas kiel labori kun aliaj programistoj. Oni uzos GitHub en ĉi tiu diskuto.
Generi la sekurŝelajn ŝlosilojn
Oni devas esti kapabla por veriĝi ĉe la GitHub-konto, antaŭ ol oni povas puŝi la ŝanĝojn. Por fari tion, oni devas krei la sekurŝelajn ŝlosilojn. Por fari tion, rulu la jenan komandon. Certigu, ke oni disponigos fortan pasfrazon, kiam oni invitiĝis:
$ ssh-keygen -t ed25519
Kreinte la ŝlosilojn, oni devas aldoni la ŝlosilojn al la propra GitHub-konto. Por fari tion, rulu la jenan komandon, tiam kopiu la eligon:
$ cat ~/.ssh/id_ed25519.pub
Iru al github.com/settings/ssh, tiam alklaku Add SSH key aŭ New SSH key:
Algluu la ŝlosilon, tiam tradaŭru.
Krei la deponejon
En la paĝo de la deponejoj, krei novan deponejon per klaki New:
Daŭru per la invitoj. Kiam oni jam plenigis la postulatajn kampojn, akiros signovicojn de komandojn oni. Anstataŭigu vakelo
kaj foobar
per la GitHub-uzantnomo kaj la nomo de la deponejo, respektive.
$ git remote add origin git@github.com:vakelo/foobar.git
$ git push -u origin master
Oni invitiĝos por provi la pasfrazon kiun oni eniris supre. La git push
komando alŝutos la enhavon de la deponejo al la fora deponejo.
Ĝisdatigi la deponejon
Kiam oni faris plian ŝanĝon al la deponejo, oni povas puŝi la ŝanĝojn per la jena komando:
$ git push origin master
Partopreni
Se oni volas kontribui al projekto, oni devas surlabori kopion de tiu dosiero, tiam oni puŝas la ŝanĝojn al la propra forko:
Unue, forku la projekton. Iru al la projekto, kiun oni volas forki, tiam alklaku Fork:
Ĉi tio kreas Kopion de la deponejo en la propra GitHub-konto.
Sekve, oni devas kloni tiun forkon al la loka disko. Kopiu la adreson kiu estas lokita en la **SSH clone URL**-kampo:
Tiam rulu la jenan komandon, en kiu, memeho
estas la uzantnomo:
$ git clone git@github.com:memeho/foobar.git
Sekve, kreu remote kiu nomiĝas upstream kiu spuras la ŝanĝojn de la fonta deponejo:
$ git remote add upstream git@github.com:vakelo/foobar.git
Kiam oni volas fari ŝanĝojn al la kodo, kreu apartan branĉon. Kreu branĉan nomon kiu priskribas la ŝanĝojn kiujn oni volas fari. La nomo povas esti ŝanĝita poste. En ĉi tiu ekzemplo, ni kreos branĉon nomita novopcioj
:
$ git checkout -b novopcioj
Nun oni povas fari ŝanĝojn al la dosieroj en ĉi tiu branĉo. Kiam oni jam enmetis la ŝanĝojn, puŝu la ŝanĝojn al via forko:
$ git push origin novopcioj
Se oni volas, ke la fonta deponejo kunfandu la ŝanĝojn , kreu Pull Request per iri al la paĝo de la fonta deponejo, tiam alklaku Pull requests:
En la sekva paĝo, alklaku New pull request:
Elektu compare across forks:
Maldekstre, sub la base fork-kampo, elektu vakelo/foobar, kaj en la base-kampo, elektu master.
Dekstre, sub la head fork-kampo, elektu memeho/foobar, kaj en la compare-kampo, elektu novopcioj.
Tiam, alklaku Create pull request:
Tiam, tradaŭru.
Sinkronigi kun upstream
Por sinkronigi la upstream-branĉon kun la loka deponejo, tiru la ŝanĝojn el upstream:
$ git pull upstream master
Tiam puŝu al via deponejo:
$ git push origin master
Tiru ŝanĝojn
Se oni estas la proprulo de la fonta deponejo, kaj oni volas tiri la ŝanĝojn el la kontribuantoj, klaku Pull requests en la paĝo de la deponejo:
tiam, tradaŭru.
Kunfandi kun upstream
Se oni estas la kontribuanto, kaj la ŝanĝoj jam estis tiritaj de la fonta deponejo, sinkronigu la upstream-branĉon:
$ git pull upstream master
En ĉi tiu punkto, oni nun povas forviŝi la novopcioj
-branĉon, kiun oni kreis antaŭe:
$ git branch -d novopcioj
$ git push origin -d novopcioj
Finrimarkoj
La laborfluo priskribita en ĉi tiu dokumento estas nur unu el la uzeblaj laborfluoj kiujn oni povas uzi. Ĉi tiu dokumento funkcias kiel enkonduko al la uzantoj kiuj estas komencantoj al Gito kaj GitHub.