Versiju kontrole.

bitbucket_logo-Crunchify-Tips

Strādājot grupās, ir grūti nokontrolēt kurš cilvēks, kurā failā veicis izmaiņas. Kurš fails ir pats aktuālākais? Nodega HDD? Kā no viņa dabūt savu kodu? Visām problēmām ir viens risinājums. Versiju kontroles sistēmas.

Šajā rakstā izskatīsim BitBucket.

  1. Name: test
  2. Access level: private
  3. Repository type: GIT
  4. Project management: issu tracking
  5. Language: PHP

Kad ir izveidots mūsu pirmais repozitorijs, mēs redzam logu ar nosaukumu Add some code, kur ir iespējams izvēlēties I’m starting from scratch. Atverot to, mums ir pateikts, kas jādara, lai izveidotu repozitoriju uz lokālā datora.

bitbucket

Bet kā to izdarīt? Tam ir nepieciešams speciāls rīks. Man personīgi patīk lietot konsoles rīkus, tāpēc mēs to uzstādīsim. Vēlams izmantojot noklusējuma iestatījumus.

Kad esam to uzinstalējuši, varam palaist Git Bash. Tā ir konsoles aplikācija, kas mūs sveicina:

git1

Pirmais, kas ir jāizdara, ir jāizveido mape, kur glabāsies mūsu repozitorijs. Tā kā iepriekšēja rakstā tika aprakstīts OpenServer, pieņemsim, ka mūsu repozitorijs būs tur. Tātad:

$ cd D:
$ cd openserver/domains
$ mkdir test
$ cd test
$ git init
$ git remote add origin https://myNickName@bitbucket.org/myNickName/test.git

Kur 6 koda rinda ir no BitBucket repozitorija apraksta, kas savieno repozitoriju ar Jūsu mapi.

Mums ne vienmēr būs vēlme palaist konsoles aplikāciju, lai vienkārši komitotu. Tāpēc ir nepieciešams ērtāks rīks komitošanai, pušošanai un merdžošanai. Uzstādām to un priecājamies par tā ērtībām.

  • Settings

git-settings

git-settings2

Katalogā izveidojam failu readme.md un tajā ierakstām “Hello GIT!”.

  • Comit – Izveidot lokālu koda versiju.

comit

comit2

  • Push – Nosūtīt lokālo versiju uz serveri.
  • Pull – Lejuplādēt servera versiju.
  • Merdge – Ja divi cilvēki maina vienu un to pašu failu, tas konfiktē. Jums parādās kļūda, kad veidojat Push. Tāpec ir jāveido Pull. Bet tas konflikto ar lokālo versiju:

merge2

Sarakstā ar failiem ir redzmi konfliktējamie faili.

merge3

Tortois mums dod ļoti ērtu veidu, kā tos merdžot.

merge4

Pēc samerdžošanas( konflikta novērsšanas ), mēs varam to pušot uz serveri.

merge5

Prakse rāda, ka vēlams komitot ik pēc jaunas funkcijas/klases izveides, izmaiņām kādā no klasēm/funkcijām un pušot/pulot pēc iespējas biežāk, ja nevēlaties nodarboties ar apgrūtinošo merdžošanu, kas bieži var aizņemt vairāk laika, nekā uz faila izveidi.