Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π”Π° Π»ΠΈ стС Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈ Π“ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π°Π»ΠΈ ΠΆΠ΅Π»ΠΈΡ‚Π΅ Π΄Π° замислитС ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° (ЦИ) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡˆΠ΅ Ρƒ стварности? Или ΠΌΠΎΠΆΠ΄Π° ΠΆΠ΅Π»ΠΈΡ‚Π΅ Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΡƒΡ˜Π΅Ρ‚Π΅ својС Π΄Π½Π΅Π²Π½Π΅ активности? Овај курс Ρ›Π΅ Π²Π°ΠΌ Π΄Π°Ρ‚ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Π΅ Π²Π΅ΡˆΡ‚ΠΈΠ½Π΅ Ρƒ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΡ˜ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΈ ΠΏΠΎΠΌΠΎΡ›Ρƒ Π“ΠΈΡ‚Π₯ΡƒΠ± Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜Π°. Овај курс нијС Π·Π°ΠΌΠΈΡˆΡ™Π΅Π½ Π΄Π° Π±ΡƒΠ΄Π΅ Ρ‡Π°Ρ€ΠΎΠ±ΡšΠ°ΠΊ Π½Π° који ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π΄Π° ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅; Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², ΠΈΠ·Π²Ρ€ΡˆΠΈΡ›Π΅Ρ‚Π΅ истС Ρ€Π°Π΄ΡšΠ΅ којС Ρ™ΡƒΠ΄ΠΈ Π·Π°ΠΏΡ€Π°Π²ΠΎ Ρ€Π°Π΄Π΅ Π½Π° послу, Π½Π° исти Π½Π°Ρ‡ΠΈΠ½ Π½Π° који Ρ‚ΠΎ Ρ€Π°Π΄Π΅. ΠžΠ±Ρ˜Π°ΡΠ½ΠΈΡ›Ρƒ Ρ‚Π΅ΠΎΡ€ΠΈΡ˜Ρƒ Π΄ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ»Π°Π·ΠΈΠ»ΠΈ ΠΊΡ€ΠΎΠ· Π½Π°Π²Π΅Π΄Π΅Π½Π΅ ΠΊΠΎΡ€Π°ΠΊΠ΅.

Π¨Ρ‚Π° Π΄Π° Ρ€Π°Π΄ΠΈΠΌΠΎ?

Како Π½Π°ΠΏΡ€Π΅Π΄ΡƒΡ˜Π΅ΠΌΠΎ, постСпСно Ρ›Π΅ΠΌΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ листу Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈΡ… ЦИ ΠΊΠΎΡ€Π°ΠΊΠ°, ΡˆΡ‚ΠΎ јС ΠΎΠ΄Π»ΠΈΡ‡Π°Π½ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π·Π°ΠΏΠ°ΠΌΡ‚ΠΈΡ‚Π΅ ΠΎΠ²Ρƒ листу. Π”Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π΅Ρ‡ΠΈΠΌΠ°, Π½Π°ΠΏΡ€Π°Π²ΠΈΡ›Π΅ΠΌΠΎ листу Ρ€Π°Π΄ΡšΠΈ којС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠ·ΠΈΠΌΠ°Ρ˜Ρƒ Π΄ΠΎΠΊ Ρ€Π°Π΄Π΅ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ, Ρ€Π°Π΄Π΅Ρ›ΠΈ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ. Π’Π°ΠΊΠΎΡ’Π΅ Ρ›Π΅ΠΌΠΎ користити Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π°Π½ скуп тСстова ΠΊΠ°ΠΊΠΎ бисмо наш ЦИ процСс ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠΈΠ»ΠΈ стварном.

Овај Π“Π˜Π€ ΡˆΠ΅ΠΌΠ°Ρ‚ΡΠΊΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·ΡƒΡ˜Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Ρƒ вашСм ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ ΠΊΠ°ΠΊΠΎ Π½Π°ΠΏΡ€Π΅Π΄ΡƒΡ˜Π΅Ρ‚Π΅ ΠΊΡ€ΠΎΠ· курс. Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ²Π΄Π΅ Π½Π΅ΠΌΠ° Π½ΠΈΡˆΡ‚Π° ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ ΠΈ само Π½Π°Ρ˜Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΈΡ˜Π΅.

Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

ΠŸΡ€ΠΎΡ›ΠΈ Ρ›Π΅Ρ‚Π΅ ΠΊΡ€ΠΎΠ· слСдСћС стандарднС ЦИ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π΅:

  • Π Π°Π΄ Π½Π° особини;
  • ΠŸΡ€ΠΈΠΌΠ΅Π½Π° Π°ΡƒΡ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΎΠ²Π°Π½ΠΈΡ… тСстова Π·Π° ΠΎΠ±Π΅Π·Π±Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚Π°;
  • Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠ³ Π·Π°Π΄Π°Ρ‚ΠΊΠ°;
  • РСшавањС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ΡΠΏΠ°Ρ˜Π°ΡšΡƒ Π³Ρ€Π°Π½Π° (ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ спајања);
  • Π”ΠΎΡˆΠ»ΠΎ јС Π΄ΠΎ Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ.

ΡˆΡ‚Π° Ρ›Π΅Ρˆ Π½Π°ΡƒΡ‡ΠΈΡ‚ΠΈ?

ΠœΠΎΡ›ΠΈ Ρ›Π΅Ρ‚Π΅ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° слСдСћа ΠΏΠΈΡ‚Π°ΡšΠ°:

  • Π¨Ρ‚Π° јС ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° (ЦИ)?
  • КојС врстС Π°ΡƒΡ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΎΠ²Π°Π½ΠΈΡ… тСстова сС користС Ρƒ ЦИ ΠΈ ΠΊΠ°ΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° којС Ρ€Π°Π΄ΡšΠ΅ сС ΠΏΠΎΠΊΡ€Π΅Ρ›Ρƒ?
  • Π¨Ρ‚Π° су Π·Π°Ρ…Ρ‚Π΅Π²ΠΈ Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ ΠΈ ΠΊΠ°Π΄Π° су ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ?
  • Π¨Ρ‚Π° јС Ρ€Π°Π·Π²ΠΎΡ˜ Π²ΠΎΡ’Π΅Π½ тСстом (Π’Π”Π”) ΠΈ ΠΊΠ°ΠΊΠΎ јС ΠΏΠΎΠ²Π΅Π·Π°Π½ са ЦИ?
  • Π”Π° Π»ΠΈ Π΄Π° спојим ΠΈΠ»ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π±Π°Π·ΠΈΡ€Π°ΠΌ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅?
  • Π’Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ Ρƒ ΡΠ»Π΅Π΄Π΅Ρ›ΠΎΡ˜ Π²Π΅Ρ€Π·ΠΈΡ˜ΠΈ?

Π£ ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ сам свуда ΠΏΡ€Π΅Π²ΠΎΠ΄ΠΈΠΎ ствари ΠΏΠΎΠΏΡƒΡ‚ β€žΠ·Π°Ρ…Ρ‚Π΅Π²Π° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅β€œ, Π°Π»ΠΈ сам ΠΊΠ°ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠΎ Π΄Π° Π½Π° Π½Π΅ΠΊΠΈΠΌ мСстима Π²Ρ€Π°Ρ›Π°ΠΌ Ρ„Ρ€Π°Π·Π΅ Π½Π° СнглСском ΠΊΠ°ΠΊΠΎ Π±ΠΈΡ… смањио стСпСн лудости Ρƒ тСксту. ПонСкад Ρ›Ρƒ користити β€žΡΡƒΡ€ΠΆΠΈΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°β€œ ΠΊΠ°ΠΎ Π΄ΠΈΠ²Π°Π½ Π³Π»Π°Π³ΠΎΠ» β€žΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΠΈβ€œ Π³Π΄Π΅ Π³Π° Ρ™ΡƒΠ΄ΠΈ Π·Π°ΠΏΡ€Π°Π²ΠΎ користС Π½Π° послу.

Π¨Ρ‚Π° јС ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°?

ΠšΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°, ΠΈΠ»ΠΈ ЦИ, јС Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠ° пракса Ρƒ којој сваки Ρ‡Π»Π°Π½ Ρ‚ΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡˆΠ΅ свој ΠΊΠΎΠ΄ Ρƒ Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ најмањС јСдном Π΄Π½Π΅Π²Π½ΠΎ, Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚ΡƒΡ˜ΡƒΡ›ΠΈ ΠΊΠΎΠ΄ ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ ΠΈΠ·Π³Ρ€Π°Ρ’Π΅Π½ Π±Π΅Π· Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°.

ΠŸΠΎΡΡ‚ΠΎΡ˜Π΅ нСслагања ΠΎΠΊΠΎ ΠΎΠ²ΠΎΠ³ појма

Π’Π°Ρ‡ΠΊΠ° ΡΠΏΠΎΡ€Π΅ΡšΠ° јС учСсталост ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅. НСки Ρ‚Π²Ρ€Π΄Π΅ Π΄Π° спајањС ΠΊΠΎΠ΄Π° само јСдном Π΄Π½Π΅Π²Π½ΠΎ нијС Π΄ΠΎΠ²ΠΎΡ™Π½ΠΎ Π·Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠ°Π»Π½Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Ρƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ јС Ρ‚ΠΈΠΌ Π³Π΄Π΅ сви ΡƒΠ·ΠΈΠΌΠ°Ρ˜Ρƒ свСТ ΠΊΠΎΠ΄ ΡƒΡ˜ΡƒΡ‚Ρ€Ρƒ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡˆΡƒ Π³Π° јСдном ΡƒΠ²Π΅Ρ‡Π΅. Иако јС ΠΎΠ²ΠΎ Ρ€Π°Π·ΡƒΠΌΠ°Π½ ΠΏΡ€ΠΈΠ³ΠΎΠ²ΠΎΡ€, ΠΎΠΏΡˆΡ‚Π΅ јС ΠΏΡ€ΠΈΡ…Π²Π°Ρ›Π΅Π½ΠΎ Π΄Π° јС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° јСдном Π΄Π½Π΅Π²Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Π°, спСцифична ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° Ρ‚ΠΈΠΌΠΎΠ²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΡ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°.

Π”Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΠΌΠ΅Π΄Π±Π° јС Π΄Π° Π¦++ вишС нијС јСдини јСзик који сС користи Ρƒ Ρ€Π°Π·Π²ΠΎΡ˜Ρƒ, ΠΈ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π·Π°Ρ…Ρ‚Π΅Π²Π°ΡšΠ΅ асСмблСра Π±Π΅Π· Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° ΠΊΠ°ΠΎ Π½Π°Ρ‡ΠΈΠ½Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡ˜Π΅ јС слабо. НСки скуп тСстова (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ˜Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈ тСстови који сС ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°Ρ˜Ρƒ Π»ΠΎΠΊΠ°Π»Π½ΠΎ) Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄Π° сС Π·Π°Π²Ρ€ΡˆΠ΅. Π£ ΠΎΠ²ΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ, Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ†Π° сС ΠΊΡ€Π΅Ρ›Π΅ ΠΊΠ° Ρ‚ΠΎΠΌΠ΅ Π΄Π° ΠΎΠ²ΠΎ постанС услов, Π° Ρƒ будућности Ρ›Π΅ β€žΠ±ΡƒΠΈΠ»Π΄ + ΡƒΠ½ΠΈΡ‚ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΠΈβ€œ Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ постати ΡƒΠΎΠ±ΠΈΡ‡Π°Ρ˜Π΅Π½Π° пракса, Π°ΠΊΠΎ Π²Π΅Ρ› нијС.

ΠšΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° Ρ€Π°Π·Π»ΠΈΠΊΡƒΡ˜Π΅ ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорука (ΠšΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорука, Π¦Π”) Ρ˜Π΅Ρ€ Π½Π΅ Π·Π°Ρ…Ρ‚Π΅Π²Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π·Π° издавањС Π½Π°ΠΊΠΎΠ½ сваког циклуса ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅.

Листа ΠΊΠΎΡ€Π°ΠΊΠ° којС Ρ›Π΅ΠΌΠΎ користити Ρ‚ΠΎΠΊΠΎΠΌ курса

  1. Π£Π±Π°Ρ†ΠΈΡ‚Π΅ најновији ΠΊΠΎΠ΄. НаправитС Π³Ρ€Π°Π½Ρƒ ΠΈΠ· master. ΠŸΠΎΡ‡Π΅Ρ‚ΠΈ са Ρ€Π°Π΄ΠΎΠΌ.
  2. ΠšΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Π½Π° својој новој Π³Ρ€Π°Π½ΠΈ. Π˜Π·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ. ΠŸΡ€ΠΎΡ›ΠΈ? Π˜Π΄ΠΈΡ‚Π΅ Π½Π° слСдСћи ΠΊΠΎΡ€Π°ΠΊ. Π€Π°ΠΈΠ»? Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅ ΠΈΠ»ΠΈ тСстовС ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ˜Ρ‚Π΅ ΠΏΠΎΠ½ΠΎΠ²ΠΎ.
  3. Π“ΡƒΡ€Π½ΠΈΡ‚Π΅ Ρƒ својС ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Ρ™Π΅Π½Ρƒ Π³Ρ€Π°Π½Ρƒ.
  4. НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅. Π Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ˜Ρ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π°ΠΌΠ°, Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ још ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° ΠΊΠ°ΠΊΠΎ сС Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π° настави. Π£Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π΄Π° тСстови ΠΏΡ€ΠΎΡ’Ρƒ Π½Π° Π³Ρ€Π°Π½ΠΈ карактСристика.
  5. БпајањС/Ρ€Π΅Π±Π°Π·ΠΎΠ²Π°ΡšΠ΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° са мастСра. НСка тСстови прослСдС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ спајања.
  6. ΠŸΡ€ΠΈΠΌΠ΅Π½Π° ΠΎΠ΄ Π³Ρ€Π°Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡšΠ΅.
  7. Ако јС свС Π΄ΠΎΠ±Ρ€ΠΎ Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡšΠΈ Π½Π΅ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΡΠΏΠΎΡ˜ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ мастСр.

Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

ΠŸΡ€ΠΈΠΏΡ€Π΅ΠΌΠ°

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈ софтвСр

Π”Π° бистС ΠΏΠΎΡ…Π°Ρ’Π°Π»ΠΈ овај курс Π±ΠΈΡ›Π΅ Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ НодС.јс ΠΈ Π“ΠΈΡ‚ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ користити Π±ΠΈΠ»ΠΎ који Π“ΠΈΡ‚ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚, Π°Π»ΠΈ ја Ρ›Ρƒ Π΄Π°Ρ‚ΠΈ само ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρƒ Π»ΠΈΠ½ΠΈΡ˜Ρƒ.

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ инсталиран Π“ΠΈΡ‚ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚ који ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρƒ Π»ΠΈΠ½ΠΈΡ˜Ρƒ

Ако још ΡƒΠ²Π΅ΠΊ Π½Π΅ΠΌΠ°Ρ‚Π΅ Π“ΠΈΡ‚ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚ који ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρƒ Π»ΠΈΠ½ΠΈΡ˜Ρƒ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ упутства Π·Π° ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Ρƒ ΠΎΠ²Π΄Π΅.

ΠŸΡ€ΠΈΠΏΡ€Π΅ΠΌΠΈΡ‚Π΅ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅

ΠœΠΎΡ€Π°Ρ›Π΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π»ΠΈΡ‡Π½Ρƒ ΠΊΠΎΠΏΠΈΡ˜Ρƒ (Π²ΠΈΡ™ΡƒΡˆΠΊΡƒ) ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ шаблона са ΠΊΠΎΠ΄ΠΎΠΌ Π·Π° курс Π½Π° Π“ΠΈΡ‚Π₯ΡƒΠ±-Ρƒ. Π₯ајдС Π΄Π° сС Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠΎ Π΄Π° ΠΎΠ²Ρƒ Π»ΠΈΡ‡Π½Ρƒ ΠΊΠΎΠΏΠΈΡ˜Ρƒ Π½Π°Π·ΠΎΠ²Π΅ΠΌΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ курса.

Π“ΠΎΡ‚ΠΎΠ²ΠΎ? Ако нистС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½Π° подСшавања, Π½Π°Ρ˜Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΈΡ˜Π΅ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΠΎΠ·Π²Π°Π½ΠΎ вашС ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ курса continuous-integration-team-scenarios-students, Π½Π°Π»Π°Π·ΠΈ сС Π½Π° вашСм Π“ΠΈΡ‚Π₯ΡƒΠ± Π½Π°Π»ΠΎΠ³Ρƒ ΠΈ Π£Π Π› ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ

https://github.com/<вашС имя ползоватСля Π½Π° GitHub>/continuous-integration-team-scenarios-students

Ја Ρ›Ρƒ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΠΈ ΠΎΠ²Ρƒ адрСсу <URL рСпозитория>.

Π£Π³Π°ΠΎΠ½Π΅ Π·Π°Π³Ρ€Π°Π΄Π΅ ΠΊΠ°ΠΎ <Ρ‚ΡƒΡ‚> Ρ›Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚ΠΈ Π΄Π° Ρ‚Π°ΠΊΠ°Π² ΠΈΠ·Ρ€Π°Π· ΠΌΠΎΡ€Π°Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΎΠΌ Π²Ρ€Π΅Π΄Π½ΠΎΡˆΡ›Ρƒ.

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° Π“ΠΈΡ‚Π₯ΡƒΠ± Π°ΠΊΡ†ΠΈΡ˜Π΅ ΡƒΠΊΡ™ΡƒΡ‡Π΅Π½ΠΎ Π·Π° ΠΎΠ²ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ курса. Ако нису ΠΎΠΌΠΎΠ³ΡƒΡ›Π΅Π½ΠΈ, ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚Π΅ ΠΈΡ… Ρ‚Π°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ›Π΅Ρ‚Π΅ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΠΈ Π½Π° Π²Π΅Π»ΠΈΠΊΠΎ Π΄ΡƒΠ³ΠΌΠ΅ Π½Π° срСдини страницС, Π½Π° којС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡ›ΠΈ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π½Π° ΠΠΊΡ†ΠΈΡ˜Π΅ Ρƒ Π“ΠΈΡ‚Π₯ΡƒΠ± ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΡƒ.

НСћСтС ΠΌΠΎΡ›ΠΈ Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈΡ‚Π΅ курс ΠΏΡ€Π°Ρ‚Π΅Ρ›ΠΈ моја упутства Π°ΠΊΠΎ Π“ΠΈΡ‚Π₯ΡƒΠ± Ρ€Π°Π΄ΡšΠ΅ нису ΠΎΠΌΠΎΠ³ΡƒΡ›Π΅Π½Π΅.

Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π£Π²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити Π“ΠΈΡ‚Π₯ΡƒΠ±-ΠΎΠ²Ρƒ способност Π΄Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ ΠœΠ°Ρ€ΠΊΠ΄ΠΎΠ²Π½ Π΄Π° бистС Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ ΡΡ‚Π°ΡšΠ΅ листС ΠΊΠΎΡ˜Ρƒ састављамо ΠΎΠ²Π΄Π΅

https://github.com/<your GitHub user name>/continuous-integration-team-scenarios-students/blob/master/ci.md

О ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠ°

Иако јС Π½Π°Ρ˜Π±ΠΎΡ™ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈΡ‚Π΅ овај курс Π΄Π° Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΡ‚Π΅ сами, ΠΌΠΎΠΆΠ΄Π° Ρ›Π΅Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ΠΈ ΠΏΠΎΡ‚Π΅ΡˆΠΊΠΎΡ›Π°.

Ако осСћатС Π΄Π° Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ΅Ρ‚Π΅ ΡˆΡ‚Π° Π΄Π° Ρ€Π°Π΄ΠΈΡ‚Π΅ ΠΈ Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° наставитС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ‚ΠΈ Ρƒ Π½ΠΈΡ‚ solution, који сС Π½Π°Π»Π°Π·ΠΈ Ρƒ вашСм стартном ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ.
Молим вас Π½Π΅ΠΌΠΎΡ˜Ρ‚Π΅ ΡΠΏΠ°Ρ˜Π°Ρ‚ΠΈ solution Π² master Ρ‚ΠΎΠΊΠΎΠΌ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ користити ΠΎΠ²Ρƒ Π³Ρ€Π°Π½Ρƒ Π΄Π° схватитС ΡˆΡ‚Π° Π΄Π° Ρ€Π°Π΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π΄Π° ΡƒΠΏΠΎΡ€Π΅Π΄ΠΈΡ‚Π΅ свој ΠΊΠΎΠ΄ са ауторским, користСћи свС могућности којС Π½Π°ΠΌ Π“ΠΈΡ‚ ΠΏΡ€ΡƒΠΆΠ°. Ако стС ΠΏΠΎΡ‚ΠΏΡƒΠ½ΠΎ ΠΈΠ·Π³ΡƒΠ±Ρ™Π΅Π½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚ΠΏΡƒΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΈ ΡΠ²ΠΎΡ˜Ρƒ Π³Ρ€Π°Π½Ρƒ master Π½Π° Π³Ρ€Π°Π½ΠΈ solution Π° Π·Π°Ρ‚ΠΈΠΌ Ρ€Π΅ΡΠ΅Ρ‚ΡƒΡ˜Ρ‚Π΅ свој Ρ€Π°Π΄Π½ΠΈ ΠΈΠΌΠ΅Π½ΠΈΠΊ Π½Π° ΠΊΠΎΡ€Π°ΠΊ курса који Π²Π°ΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½.

ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΡ‚Π΅ ΠΎΠ²ΠΎ само Π°ΠΊΠΎ Π²Π°ΠΌ јС заиста ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ

Π£ΠΊΡ™ΡƒΡ‡ΠΈΡ‚Π΅ свој ΠΊΠΎΠ΄

git add .
git commit -m "Backing up my work"

ОвС командС

  • ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΠΈ master Π² master-backup;
  • ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΠΈ solution Π² master;
  • одјава Ρƒ Π½ΠΎΠ²Ρƒ Ρ„ΠΈΠ»ΠΈΡ˜Π°Π»Ρƒ master ΠΈ прСписати ΡΠ°Π΄Ρ€ΠΆΠ°Ρ˜ Ρ€Π°Π΄Π½ΠΎΠ³ ΠΈΠΌΠ΅Π½ΠΈΠΊΠ°;
  • НаправитС Π³Ρ€Π°Π½Ρƒ β€žΡ€Π΅ΡˆΠ΅ΡšΠ΅β€œ ΠΎΠ΄ β€žΠΌΠ°ΡΡ‚Π΅Ρ€β€œ (ΡˆΡ‚ΠΎ јС Π½Π΅ΠΊΠ°Π΄Π° Π±ΠΈΠ»ΠΎ β€žΡ€Π΅ΡˆΠ΅ΡšΠ΅β€œ) Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ Π΄Π° Π²Π°ΠΌ Π·Π°Ρ‚Ρ€Π΅Π±Π° Π³Ρ€Π°Π½Π° β€žΡ€Π΅ΡˆΠ΅ΡšΠ΅β€œ Ρƒ будућности.

git branch -m master master-backup
git branch -m solution master
git checkout master -f
git branch solution

Након ΠΎΠ²ΠΈΡ… ΠΊΠΎΡ€Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити git log master Π΄Π° схватитС којС ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Π²Π°ΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ.
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π΅ΡΠ΅Ρ‚ΡƒΡ˜Π΅Ρ‚Π΅ свој Ρ€Π°Π΄Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ Π½Π° ΠΎΠ²ΠΎ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Π½Π° слСдСћи Π½Π°Ρ‡ΠΈΠ½:

git reset --hard <the SHA you need>

Ако стС Π·Π°Π΄ΠΎΠ²ΠΎΡ™Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΠΌ, Ρƒ Π½Π΅ΠΊΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ Ρ›Π΅Ρ‚Π΅ ΠΌΠΎΡ€Π°Ρ‚ΠΈ Π΄Π° ΠΎΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ ΡΠ²ΠΎΡ˜Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅. НС Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Π° Сксплицитно Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ ΡƒΠ΄Π°Ρ™Π΅Π½Ρƒ Π³Ρ€Π°Π½Ρƒ ΠΊΠ°Π΄Π° Ρ‚ΠΎ Ρ€Π°Π΄ΠΈΡ‚Π΅.

git push --force origin master

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌΡƒ Π΄Π° користимо git push --force. Мало јС Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ Π΄Π° Ρ›Π΅Ρ‚Π΅ Ρ‚ΠΎ ΠΆΠ΅Π»Π΅Ρ‚ΠΈ Π΄Π° Ρ€Π°Π΄ΠΈΡ‚Π΅ чСсто, Π°Π»ΠΈ ΠΎΠ²Π΄Π΅ ΠΈΠΌΠ°ΠΌΠΎ Π²Ρ€Π»ΠΎ спСцифичан сцСнарио са јСдним корисником ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° који, ΠΏΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ³Π°, Ρ€Π°Π·ΡƒΠΌΠ΅ ΡˆΡ‚Π° Ρ€Π°Π΄ΠΈ.

ΠŸΠΎΡ‡Π΅Ρ‚Π°ΠΊ Ρ€Π°Π΄Π°

Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

ΠŸΠΎΡ‡Π½ΠΈΠΌΠΎ са ΡΠ°ΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ΠΌ нашС листС ЦИ ΠΊΠΎΡ€Π°ΠΊΠ°. ΠžΠ±ΠΈΡ‡Π½ΠΎ бистС Π·Π°ΠΏΠΎΡ‡Π΅Π»ΠΈ овај ΠΊΠΎΡ€Π°ΠΊ Ρ‚Π°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ›Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΠΈ Π½Π°Ρ˜Π½ΠΎΠ²ΠΈΡ˜Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠ³ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π°, Π°Π»ΠΈ још ΡƒΠ²Π΅ΠΊ Π½Π΅ΠΌΠ°ΠΌΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅, ΠΏΠ° Π³Π° умСсто Ρ‚ΠΎΠ³Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΠΌΠΎ ΠΈΠ· ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠ³.

Π—Π°Π΄Π°Ρ‚Π°ΠΊ: Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎΠ³ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π°, ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π³Ρ€Π°Π½Π΅ ΠΈΠ· master, ΠΏΠΎΡ‡Π΅Ρ‚ΠΈ са Ρ€Π°Π΄ΠΎΠΌ

  1. ΠšΠ»ΠΎΠ½ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ курсСва ΠΈΠ· <URL рСпозитория>.
  2. Π’Ρ€Ρ‡ΠΈ npm install Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ° курсСва; ΠŸΠΎΡ‚Ρ€Π΅Π±Π°Π½ Π½Π°ΠΌ јС Π΄Π° инсталирамо ΠˆΠ΅ΡΡ‚, који користимо Π·Π° ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ тСстова.
  3. НаправитС Π³Ρ€Π°Π½Ρƒ ΠΈ Π΄Π°Ρ˜Ρ‚Π΅ јој ΠΈΠΌΠ΅ feature. ΠŸΡ€Π΅Ρ’ΠΈ Π½Π° ΠΎΠ²Ρƒ Ρ‚Π΅ΠΌΡƒ.
  4. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π½ΠΈ ΠΊΠΎΠ΄ Ρƒ ci.test.js ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€Π° Ρƒ којима сС Ρ‚Ρ€Π°ΠΆΠΈ Π΄Π° Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠΌ.

    it('1. pull latest code', () => {
      expect(/.*pull.*/ig.test(fileContents)).toBe(true);
    });
    
    it('2. add commits', () => {
      expect(/.*commit.*/ig.test(fileContents)).toBe(true);
    });
    
    it('3. push to the remote branch with the same name', () => {
      expect(/.*push.*/ig.test(fileContents)).toBe(true);
    });
    
    it('4. create a pull request and continue working', () => {
      expect(/.*pulls+request.*/ig.test(fileContents)).toBe(true);
    });

  5. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ тСкст са ΠΏΡ€Π²Π° 4 ΠΊΠΎΡ€Π°ΠΊΠ° Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ci.md.
    1. Pull in the latest code. Create a branch from `master`. Start working.    
    2. Create commits on your new branch. Build and test locally.  
    Pass? Go to the next step. Fail? Fix errors or tests and try again.  
    3. Push to your remote repository or remote branch.  
    4. Create a pull request. Discuss the changes, add more commits  
    as discussion continues. Make tests pass on the feature branch.  

    Π’ΠΈΠΌΠΎΠ²ΠΈ

# ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ курса
git clone <repository URL>
cd <repository name>

# Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ npm install Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ рСпозитория курса; ΠΎΠ½ установит Jest, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для запуска тСстов.
npm install

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π΅ feature. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° эту Π² Π²Π΅Ρ‚ΠΊΡƒ.
git checkout -b feature

# ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ci.test.js ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅.
# ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ci.md ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅

ΠšΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Π½Π° новој Π³Ρ€Π°Π½ΠΈ, Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ

ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ›Π΅ΠΌΠΎ тСстовС Π΄Π° сС ΠΏΠΎΠΊΡ€Π΅Ρ›Ρƒ ΠΏΡ€Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ°, Π° Π·Π°Ρ‚ΠΈΠΌ ΡƒΡ€Π΅Π·Π°Ρ‚ΠΈ ΠΊΠΎΠ΄.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΈ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜ΠΈ ΠΊΠ°Π΄Π° сС тСстови ΠΏΠΎΠΊΡ€Π΅Ρ›Ρƒ аутоматски

  • Π›ΠΎΠΊΠ°Π»Π½ΠΎ:
    • ΠšΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ ΠΊΠΎΠ΄Π°;
    • О Ρ‡ΡƒΠ²Π°ΡšΡƒ (Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π°Π½Π΅ ΠΈΠ»ΠΈ ЈИВ-ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½Π΅ јСзикС);
    • Π’ΠΎΠΊΠΎΠΌ склапања (ΠΊΠ°Π΄Π° јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°);
    • Он Ρ†ΠΎΠΌΠΌΠΈΡ‚;
    • ΠŸΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΎΠ±Ρ˜Π°Π²Ρ™ΠΈΠ²Π°ΡšΠ° Ρƒ Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎΠΌ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ.

  • На сСрвСру Π·Π° ΠΏΡ€Π°Π²Ρ™Π΅ΡšΠ΅ ΠΈΠ»ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ Π·Π° ΠΏΡ€Π°Π²Ρ™Π΅ΡšΠ΅:
    • Када сС ΠΊΠΎΠ΄ објави Ρƒ Π»ΠΈΡ‡Π½ΠΎΡ˜ Π³Ρ€Π°Π½ΠΈ/ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Ρƒ.
    • Код Ρƒ овој Ρ‚Π΅ΠΌΠΈ сС тСстира.
    • ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ спајања сС тСстира (ΠΎΠ±ΠΈΡ‡Π½ΠΎ са master).
    • Као Ρ„Π°Π·Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅/ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорука

Π’ΠΈΠΏΠΈΡ‡Π½ΠΎ, ΡˆΡ‚ΠΎ Π±Ρ€ΠΆΠ΅ Ρ€Π°Π΄ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅, Ρ‚ΠΎ Ρ‡Π΅ΡˆΡ›Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сСби ΠΏΡ€ΠΈΡƒΡˆΡ‚ΠΈΡ‚ΠΈ Π΄Π° Π³Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅. Π’ΠΈΠΏΠΈΡ‡Π½Π° сцСнска Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Ρ‚ΠΈ ΠΎΠ²Π°ΠΊΠΎ.

  • Π‘Ρ€Π·ΠΈ тСстови Ρ˜Π΅Π΄ΠΈΠ½ΠΈΡ†Π° - Ρ‚ΠΎΠΊΠΎΠΌ ΠΈΠ·Π³Ρ€Π°Π΄ΡšΠ΅, Ρƒ ЦИ Ρ†Π΅Π²ΠΎΠ²ΠΎΠ΄Ρƒ
  • Π‘ΠΏΠΎΡ€ΠΈ Ρ˜Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈ тСстови, Π±Ρ€Π·ΠΈ тСстови ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅ - ΠΏΡ€ΠΈ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΡƒ, Ρƒ ЦИ Ρ†Π΅Π²ΠΎΠ²ΠΎΠ΄Ρƒ
  • Π‘ΠΏΠΎΡ€Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΈ тСстови ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅ - Ρƒ ЦИ Ρ†Π΅Π²ΠΎΠ²ΠΎΠ΄Ρƒ
  • БСзбСдносно Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅, Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅ΡšΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠ³ΠΎΡ‚Ρ€Π°Ρ˜Π½ΠΈ ΠΈΠ»ΠΈ скупи тСстови - Ρƒ ЦИ/Π¦Π” Ρ†Π΅Π²ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠ°, Π°Π»ΠΈ само Ρƒ ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΈΠΌΠ°/Ρ„Π°Π·Π°ΠΌΠ°/Ρ†Π΅Π²ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠ° Π³Ρ€Π°Π΄ΡšΠ΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Π΄Π° сС ΠΏΡ€ΠΈΠΏΡ€Π΅ΠΌΠ° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ Π·Π° издањС ΠΈΠ»ΠΈ ΠΊΠ°Π΄Π° сС ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Ρ€ΡƒΡ‡Π½ΠΎ.

Васк

ΠŸΡ€Π΅Π΄Π»Π°ΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π²ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ тСстовС Ρ€ΡƒΡ‡Π½ΠΎ користСћи ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ npm test. ПослС Ρ‚ΠΎΠ³Π°, додајмо Π³ΠΈΡ‚ ΠΊΡƒΠΊΡƒ Π·Π° ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ Π½Π°ΡˆΠΈΡ… тСстова ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ°. ΠŸΠΎΡΡ‚ΠΎΡ˜ΠΈ јСдна ΠΊΠ²Π°ΠΊΠ°: Π“ΠΈΡ‚ ΠΊΡƒΠΊΠ΅ сС Π½Π΅ ΡΠΌΠ°Ρ‚Ρ€Π°Ρ˜Ρƒ Π΄Π΅Π»ΠΎΠΌ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° ΠΈ стога сС Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Ρ‚ΠΈ са Π“ΠΈΡ‚Π₯ΡƒΠ±-Π° зајСдно са остатком ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»Π° Π·Π° курс. Π”Π° бистС инсталирали ΠΊΡƒΠΊΡƒ, ΠΌΠΎΡ€Π°Ρ‚Π΅ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ install_hook.sh ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ repo/hooks/pre-commit Ρƒ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈΠΌΠ΅Π½ΠΈΠΊ .git/hooks/.
Када ΡƒΡ€Π΅Π·ΡƒΡ˜Π΅Ρ‚Π΅, Π²ΠΈΠ΄Π΅Ρ›Π΅Ρ‚Π΅ Π΄Π° сС ΠΏΠΎΠΊΡ€Π΅Ρ›Ρƒ тСстови ΠΈ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°Ρ˜Ρƒ Π΄Π° Π»ΠΈ су ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π΅ ΠΊΡ™ΡƒΡ‡Π½Π΅ Ρ€Π΅Ρ‡ΠΈ присутнС Π½Π° листи.

  1. ΠŸΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ тСстовС Ρ€ΡƒΡ‡Π½ΠΎ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ npm test Ρƒ фасцикли вашСг ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° курса. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Π»ΠΈ су тСстови Π·Π°Π²Ρ€ΡˆΠ΅Π½ΠΈ.
  2. ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅ Π·Π°ΠΊΠ°Ρ‡ΠΈΡ†Ρƒ Π·Π° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ (ΠΏΡ€Π΅-ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Π·Π°ΠΊΠ°Ρ‡ΠΈΡ†Ρƒ) ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ΠΌ install_hook.sh.
  3. Π£Ρ€Π΅ΠΆΠΈΡ‚Π΅ својС ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ својС Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅.
  4. Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° су тСстови ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ ΠΏΡ€Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ°.

Π’Π°ΡˆΠ΅ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ Π½Π°ΠΊΠΎΠ½ ΡˆΡ‚ΠΎ слСдитС ΠΎΠ²Π΅ ΠΊΠΎΡ€Π°ΠΊΠ΅.
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π’ΠΈΠΌΠΎΠ²ΠΈ

# УстановитС pre-commit hook Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² install_hook.sh.  

# Π—Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ измСнСния Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ "Add first CI steps" Π² качСствС сообщСния ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.
git add ci.md ci.test.js
git commit -m "Add first CI steps"

# Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ тСсты Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.  

ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠΌ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΡ˜ Π³Ρ€Π°Π½ΠΈ

Када Π·Π°Π²Ρ€ΡˆΠ΅ са Ρ€Π°Π΄ΠΎΠΌ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΠΌ Π½ΠΈΠ²ΠΎΡƒ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ Ρ‡ΠΈΠ½Π΅ свој ΠΊΠΎΠ΄ јавно доступним ΠΊΠ°ΠΊΠΎ Π±ΠΈ Π½Π° ΠΊΡ€Π°Ρ˜Ρƒ ΠΌΠΎΠ³Π°ΠΎ Π±ΠΈΡ‚ΠΈ интСгрисан са Ρ˜Π°Π²Π½ΠΎΡˆΡ›Ρƒ. Π‘Π° Π“ΠΈΡ‚Π₯ΡƒΠ±-ΠΎΠΌ, ΠΎΠ²ΠΎ сС ΠΎΠ±ΠΈΡ‡Π½ΠΎ постиТС ΠΎΠ±Ρ˜Π°Π²Ρ™ΠΈΠ²Π°ΡšΠ΅ΠΌ Π΄Π΅Π»Π° ΠΈΠ»ΠΈ Ρƒ Π»ΠΈΡ‡Π½ΠΎΡ˜ копији ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° (Π»ΠΈΡ‡Π½ΠΈ Ρ„ΠΎΡ€ΠΊ) ΠΈΠ»ΠΈ Ρƒ Π»ΠΈΡ‡Π½ΠΎΡ˜ Π³Ρ€Π°Π½ΠΈ.

  • ΠŸΠΎΠΌΠΎΡ›Ρƒ форкс-Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π° ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ Π΄Π΅Ρ™Π΅Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅, ΡΡ‚Π²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ ΡšΠ΅Π³ΠΎΠ²Ρƒ Π»ΠΈΡ‡Π½Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½Ρƒ ΠΊΠΎΠΏΠΈΡ˜Ρƒ, Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΏΠΎΠ·Π½Π°Ρ‚Ρƒ ΠΊΠ°ΠΎ Π²ΠΈΡ™ΡƒΡˆΠΊΠ°. Π—Π°Ρ‚ΠΈΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π° ΠΎΠ²ΠΎ Π»ΠΈΡ‡Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ Π·Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ Ρ€Π°Π΄. Када јС посао Π·Π°Π²Ρ€ΡˆΠ΅Π½ ΠΈ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° су Π½Π°ΠΏΡ€Π°Π²Ρ™Π΅Π½Π°, ΠΎΠ½ ΠΈΡ… Π³ΡƒΡ€Π° Ρƒ ΡΠ²ΠΎΡ˜Ρƒ Π²ΠΈΡ™ΡƒΡˆΠΊΡƒ, Π³Π΄Π΅ су доступни Π΄Ρ€ΡƒΠ³ΠΈΠΌΠ° ΠΈ ΠΌΠΎΠ³Ρƒ сС интСгрисати Ρƒ Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅. Овај приступ сС ΠΎΠ±ΠΈΡ‡Π½ΠΎ користи Ρƒ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈΠΌΠ° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎΠ³ ΠΊΠΎΠ΄Π° Π½Π° Π“ΠΈΡ‚Π₯ΡƒΠ±-Ρƒ. Π’Π°ΠΊΠΎΡ’Π΅ сС користи Ρƒ ΠΌΠΎΠΌ Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΎΠΌ курсу [Вимски Ρ€Π°Π΄ ΠΈ ЦИ са Π“ΠΈΡ‚ΠΎΠΌ] (http://devops.redpill.solutions/).
  • Π”Ρ€ΡƒΠ³ΠΈ приступ јС Π΄Π° сС користи само јСдно ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ΠΈ Π΄Π° сС Ρ€Π°Ρ‡ΡƒΠ½Π° само Π³Ρ€Π°Π½Π° master Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ β€žΠ·Π°ΡˆΡ‚ΠΈΡ›Π΅Π½ΠΎβ€œ. Π£ ΠΎΠ²ΠΎΠΌ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Ρƒ, ΠΏΠΎΡ˜Π΅Π΄ΠΈΠ½Π°Ρ‡Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΎΠ±Ρ˜Π°Π²Ρ™ΡƒΡ˜Ρƒ свој ΠΊΠΎΠ΄ Ρƒ Π³Ρ€Π°Π½Π°ΠΌΠ° ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠ³ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° ΠΊΠ°ΠΊΠΎ Π±ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ˜Ρƒ овај ΠΊΠΎΠ΄, Π°ΠΊΠΎ јС свС Ρƒ Ρ€Π΅Π΄Ρƒ, ΡΠΏΠΎΡ˜ΠΈΡ‚Π΅ Π³Π° са master Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅.

Π£ ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ курсу користићСмо Ρ‚ΠΎΠΊ посла који користи Π³Ρ€Π°Π½Π΅.

Π₯ајдС Π΄Π° објавимо наш ΠΊΠΎΠ΄.

Васк

  • ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΡ˜ Π³Ρ€Π°Π½ΠΈ са истим ΠΈΠΌΠ΅Π½ΠΎΠΌ ΠΊΠ°ΠΎ ΠΈ ваша Ρ€Π°Π΄Π½Π° Π³Ρ€Π°Π½Π°

Π’ΠΈΠΌΠΎΠ²ΠΈ

git push --set-upstream origin feature

НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅

НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ са насловом ΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΡ€Π°ΠΊΠ°... Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜ feature ΠΏΠΎΠΏΡƒΡ‚ β€žΠ³Π»Π°Π²Π½Π΅ Π³Ρ€Π°Π½Π΅β€œ ΠΈ master ΠΏΠΎΠΏΡƒΡ‚ "основнС Π³Ρ€Π°Π½Π΅".

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° стС инсталирали master Ρƒ њСговој Ρ„ΠΎΡ€ΠΊ Ρ‚Ρ…Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ Као β€žΠΎΡΠ½ΠΎΠ²Π½Π° Π³Ρ€Π°Π½Π°β€œ, Π½Π΅Ρ›Ρƒ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ‚ΠΈ Π½Π° Π·Π°Ρ…Ρ‚Π΅Π²Π΅ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»Π° Π·Π° курс.

Π£ Π“ΠΈΡ‚Π₯ΡƒΠ± Ρ˜Π΅Π·ΠΈΠΊΡƒ, β€žΠΎΡΠ½ΠΎΠ²Π½Π° Π³Ρ€Π°Π½Π°β€œ јС Π³Ρ€Π°Π½Π° Π½Π° којој засниватС свој Ρ€Π°Π΄, Π° β€žΠ³Π»Π°Π²Π½Π° Π³Ρ€Π°Π½Π°β€œ јС Π³Ρ€Π°Π½Π° која садрТи ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅.

Π Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ˜Ρ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π°ΠΌΠ°, Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ Π½ΠΎΠ²Π° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° ΠΊΠ°ΠΊΠΎ сС Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π° настави

Π—Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ (ПР)

Π—Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ (ПР) јС Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС Π΄ΠΈΡΠΊΡƒΡ‚ΡƒΡ˜Π΅ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΡƒΡ˜Π΅ ΠΊΠΎΠ΄, ΠΊΠ°ΠΎ ΠΈ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΠ΄Π°. Π—Π°Ρ…Ρ‚Π΅Π²ΠΈ Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ су Π½Π°Π·Π²Π°Π½ΠΈ ΠΏΡ€Π΅ΠΌΠ° ΠΎΠΏΡˆΡ‚Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅ ΠΏΠΎΡ˜Π΅Π΄ΠΈΠ½Π°Ρ‡Π½ΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ Ρ†Π΅Π»ΠΎΠΊΡƒΠΏΠ½ΠΈ ΠΊΠΎΠ΄. Π’ΠΈΠΏΠΈΡ‡Π½ΠΎ, особа ΠΊΠ»ΠΎΠ½ΠΈΡ€Π° ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ Π·Π²Π°Π½ΠΈΡ‡Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π° ΠΈ Ρ€Π°Π΄ΠΈ Π½Π° ΠΊΠΎΠ΄Ρƒ Π»ΠΎΠΊΠ°Π»Π½ΠΎ. Након Ρ‚ΠΎΠ³Π°, ΠΎΠ½ поставља ΠΊΠΎΠ΄ Ρƒ својС Π»ΠΈΡ‡Π½ΠΎ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ΠΈ Ρ‚Ρ€Π°ΠΆΠΈ ΠΎΠ΄ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈΡ… Π·Π° Π·Π²Π°Π½ΠΈΡ‡Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π΄Π° Π³Π° ΠΏΡ€Π΅ΡƒΠ·ΠΌΡƒ (ΠΏΠΎΠ²ΡƒΡ›ΠΈ) њСгов ΠΊΠΎΠ΄ Ρƒ своја Π»ΠΎΠΊΠ°Π»Π½Π° ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π°, Π³Π΄Π΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ˜Ρƒ ΠΈ Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡˆΡƒ(стопити) њСгов. Овај ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ јС ΠΏΠΎΠ·Π½Π°Ρ‚ ΠΈ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, Π½ΠΏΡ€. Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° спајањС.

Π£ ствари, Π½Π΅ ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° користитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ Π·Π°Ρ…Ρ‚Π΅Π²Π° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ Π½Π° Π“ΠΈΡ‚Π₯ΡƒΠ±-Ρƒ ΠΈΠ»ΠΈ сличним ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠ°. Развојни Ρ‚ΠΈΠΌΠΎΠ²ΠΈ ΠΌΠΎΠ³Ρƒ Π΄Π° користС Π΄Ρ€ΡƒΠ³Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ Π»ΠΈΡ†Π΅ΠΌ Ρƒ Π»ΠΈΡ†Π΅, гласовнС ΠΏΠΎΠ·ΠΈΠ²Π΅ ΠΈΠ»ΠΈ Π΅-ΠΏΠΎΡˆΡ‚Ρƒ, Π°Π»ΠΈ још ΡƒΠ²Π΅ΠΊ ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Π½ΠΈΠ· Ρ€Π°Π·Π»ΠΎΠ³Π° Π΄Π° сС користС Π·Π°Ρ…Ρ‚Π΅Π²ΠΈ Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ Ρƒ стилу Ρ„ΠΎΡ€ΡƒΠΌΠ°. Π•Π²ΠΎ Π½Π΅ΠΊΠΈΡ… ΠΎΠ΄ ΡšΠΈΡ…:

  • ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π΅ Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π΅ Π²Π΅Π·Π°Π½Π΅ Π·Π° спСцифичнС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ ΠΊΠΎΠ΄Π°;
  • ΠΊΠ°ΠΎ мСсто Π·Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½ΠΈΡ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΎ Ρ€Π°Π΄Ρƒ Ρƒ Ρ‚ΠΎΠΊΡƒ ΠΎΠ΄ странС аутотСстСра ΠΈ ΠΊΠΎΠ»Π΅Π³Π°;
  • Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄Π° ΠΊΠΎΠ΄Π°;
  • Ρ‚Π°ΠΊΠΎ Π΄Π° каснијС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сазнати Ρ€Π°Π·Π»ΠΎΠ³Π΅ ΠΈ Ρ€Π°Π·ΠΌΠ°Ρ‚Ρ€Π°ΡšΠ° ΠΈΠ·Π° ΠΎΠ²ΠΎΠ³ ΠΈΠ»ΠΈ ΠΎΠ½ΠΎΠ³ Π΄Π΅Π»Π° ΠΊΠΎΠ΄Π°.

ΠžΠ±ΠΈΡ‡Π½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ ΠΊΠ°Π΄Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ‚Π΅ ΠΎ Π½Π΅Ρ‡Π΅ΠΌΡƒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±ΠΈΡ˜Π΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ Ρ€Π°Π΄ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΈ која сС ΠΌΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ Π½Π° вишС Π½Π°Ρ‡ΠΈΠ½Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ ΠΏΡ€Π΅ Π½Π΅Π³ΠΎ ΡˆΡ‚ΠΎ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΡ€Π²Ρƒ Π»ΠΈΠ½ΠΈΡ˜Ρƒ ΠΊΠΎΠ΄Π° Π΄Π° бистС ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ својС идСјС ΠΈ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Π»ΠΈ ΠΎ својим ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΠΌΠ° са својим сарадницима. Ако јС посао Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΡ˜ΠΈ, ΠΎΡ‚Π²Π°Ρ€Π° сС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ ΠΊΠ°Π΄Π° јС Π½Π΅ΡˆΡ‚ΠΎ Π²Π΅Ρ› ΡƒΡ€Π°Ρ’Π΅Π½ΠΎ, Π°Π½Π³Π°ΠΆΠΎΠ²Π°Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅ сС Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ‚ΠΈ. Π£ Π½Π΅ΠΊΠΈΠΌ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜ΠΈΠΌΠ°, ΠΌΠΎΠΆΠ΄Π° Ρ›Π΅Ρ‚Π΅ ΠΆΠ΅Π»Π΅Ρ‚ΠΈ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ ПР само ΠΈΠ· Ρ€Π°Π·Π»ΠΎΠ³Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚Π°: Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ Π°ΡƒΡ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΎΠ²Π°Π½Π΅ тСстовС ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΠ΄Π°. Π¨Ρ‚Π° Π³ΠΎΠ΄ Π΄Π° ΠΎΠ΄Π»ΡƒΡ‡ΠΈΡ‚Π΅, Π½Π΅ Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Π° @ΠΏΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ Ρ™ΡƒΠ΄Π΅ Ρ‡ΠΈΡ˜Π΅ ΠΎΠ΄ΠΎΠ±Ρ€Π΅ΡšΠ΅ ΠΆΠ΅Π»ΠΈΡ‚Π΅ Ρƒ свом Π·Π°Ρ…Ρ‚Π΅Π²Ρƒ Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅.

ΠžΠ±ΠΈΡ‡Π½ΠΎ, ΠΊΠ°Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ПР, Ρ€Π°Π΄ΠΈΡ‚Π΅ слСдСћС.

  • НавСдитС ΡˆΡ‚Π° ΠΏΡ€Π΅Π΄Π»Π°ΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈ Π³Π΄Π΅.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ опис који објашњава сврху ΠΏΡ€ΠΎΠΌΠ΅Π½Π°. МоТда ΠΆΠ΅Π»ΠΈΡ‚Π΅:
    • Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ Π±ΠΈΠ»ΠΎ ΡˆΡ‚Π° Π²Π°ΠΆΠ½ΠΎ ΡˆΡ‚ΠΎ нијС ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ Π½Π΅ΡˆΡ‚ΠΎ корисно Π·Π° Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ΅ контСкста, ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Π΅ # Π³Ρ€Π΅ΡˆΠΊΠ΅ ΠΈ Π±Ρ€ΠΎΡ˜Π΅Π²ΠΈ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ°;
    • @ΠΏΠΎΠΌΠ΅Π½ΠΈ свакога са ΠΊΠΈΠΌ ТСлиш Π΄Π° ΠΏΠΎΡ‡Π½Π΅Ρˆ Π΄Π° Ρ€Π°Π΄ΠΈΡˆ, ΠΈΠ»ΠΈ моТСш Π΄Π° Π³Π° @помСнСш Ρƒ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΌΠ° каснијС;
    • Π·Π°ΠΌΠΎΠ»ΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅Π³Π΅ Π΄Π° Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π½Ρƒ Ρƒ Π½Π΅Ρ‡Π΅ΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ.

Када ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ ПР, ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°Ρ˜Ρƒ сС тСстови конфигурисани Π·Π° ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ Ρƒ Ρ‚Π°ΠΊΠ²ΠΈΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²ΠΈΠΌΠ°. Π£ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΎΠ²ΠΎ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ исти скуп тСстова који смо ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΠ»ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π°Π»ΠΈ Ρƒ стварном ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΈΡ… тСстова ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°.

Π‘Π°Ρ‡Π΅ΠΊΠ°Ρ˜Ρ‚Π΅ Π΄ΠΎΠΊ сС тСстови Π·Π°Π²Ρ€ΡˆΠ΅. Бтатус тСстова ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π½Π° Π΄Π½Ρƒ ПР Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π΅ Ρƒ Π“ΠΈΡ‚Π₯ΡƒΠ± ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΡƒ. НаставитС ΠΊΠ°Π΄Π° сС тСстови Π·Π°Π²Ρ€ΡˆΠ΅.

Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Ρƒ ΠΎ насумичности листС ЦИ ΠΊΠΎΡ€Π°ΠΊΠ°

Листа која сС користи Ρƒ ΠΎΠ²ΠΎΠΌ курсу јС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΡ™Π½Π° ΠΈ ΡΡƒΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΠ²Π½Π°, ΠΎ Ρ‚ΠΎΠΌΠ΅ Ρ‚Ρ€Π΅Π±Π° Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π½Π°ΠΏΠΎΠΌΠ΅Π½Ρƒ.

Π—Π°Π΄Π°Ρ‚Π°ΠΊ: ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ Π·Π° овај ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€

  1. ΠŸΡ€Π΅Π±Π°Ρ†ΠΈΡ‚Π΅ сС Π½Π° Π³Ρ€Π°Π½Ρƒ master.
  2. НаправитС Π³Ρ€Π°Π½Ρƒ ΠΏΠΎΠ΄ Π½Π°Π·ΠΈΠ²ΠΎΠΌ bugfix.
  3. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ тСкст бСлСшкС Π½Π° ΠΊΡ€Π°Ρ˜ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ci.md.
    > **GitHub flow** is sometimes used as a nickname to refer to a flavor of trunk-based development  
    when code is deployed straight from feature branches. This list is just an interpretation  
    that I use in my [DevOps courses](http://redpill.solutions).  
    The official tutorial is [here](https://guides.github.com/introduction/flow/).
  4. Π£ΠΊΡ™ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅.
  5. ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ Ρ‚Π΅ΠΌΡƒ bugfix Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅.
  6. НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·ΠΈΠ²ΠΎΠΌ Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ са Π³Ρ€Π°Π½Ρ‡ΠΈΡ†ΠΎΠΌ Π·Π° Π³Π»Π°Π²Ρƒ bugfix ΠΈ Π±Π°Π·Π½Ρƒ Π³Ρ€Π°Π½Ρƒmaster.

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° стС инсталирали master Ρƒ њСговој Ρ„ΠΎΡ€ΠΊ Ρ‚Ρ…Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ Као β€žΠΎΡΠ½ΠΎΠ²Π½Π° Π³Ρ€Π°Π½Π°β€œ, Π½Π΅Ρ›Ρƒ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ‚ΠΈ Π½Π° Π·Π°Ρ…Ρ‚Π΅Π²Π΅ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»Π° Π·Π° курс.

Овако Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° вашС ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅.
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π’ΠΈΠΌΠΎΠ²ΠΈ

# ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ bugfix.
git checkout master

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ bugfix-remark.
git checkout -b bugfix

# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ тСкст примСчания Π²Π½ΠΈΠ·Ρƒ ci.md.

# Π—Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ измСнСния
git add ci.md
git commit -m "Add a remark about the list being opinionated"

# ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ bugfix Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
git push --set-upstream origin bugfix

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ pull request ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ интСрфСйса GitHub ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅

ΠžΠ΄ΠΎΠ±Ρ€ΠΈ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ β€žΠ”ΠΎΠ΄Π°Π²Π°ΡšΠ΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅β€œ

Васк

  1. НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅.
  2. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠ‘ΠΏΠΎΡ˜ΠΈ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅β€œ.
  3. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠŸΠΎΡ‚Π²Ρ€Π΄ΠΈ ΡΠΏΠ°Ρ˜Π°ΡšΠ΅β€œ.
  4. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° "Π˜Π·Π±Ρ€ΠΈΡˆΠΈ Π³Ρ€Π°Π½Ρƒ", вишС Π½Π°ΠΌ нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°.

Ово јС Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° Π½Π°ΠΊΠΎΠ½ спајања.
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

НаставитС са Ρ€Π°Π΄ΠΎΠΌ ΠΈ Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ тСстовС

Π‘Π°Ρ€Π°Π΄ΡšΠ° Π½Π° Π·Π°Ρ…Ρ‚Π΅Π²Ρƒ Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ΠΌ чСсто Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΈΠΌ Ρ€Π°Π΄ΠΎΠΌ. Ово јС ΠΎΠ±ΠΈΡ‡Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π΅, Π°Π»ΠΈ Ρƒ нашСм курсу Ρ›Π΅ΠΌΠΎ Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Ρ‚ΠΈ додавањСм Π½ΠΎΠ²ΠΈΡ… ставки Π½Π° Π½Π°ΡˆΡƒ листу ЦИ ΠΊΠΎΡ€Π°ΠΊΠ°.

ΠšΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Π΅ покривСност тСстом. Π—Π°Ρ…Ρ‚Π΅Π²ΠΈ Π·Π° покривСност тСстом сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΡ˜Ρƒ ΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС Π½Π°Π»Π°Π·Π΅ Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ који сС Π·ΠΎΠ²Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΏΠΎΠΏΡƒΡ‚ β€žΡΠΌΠ΅Ρ€Π½ΠΈΡ†Π° Π·Π° Π΄ΠΎΠΏΡ€ΠΈΠ½ΠΎΡβ€œ. ΠžΠ΄Ρ€ΠΆΠ°Ρ›Π΅ΠΌΠΎ Ρ‚ΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΌ ΠΈ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ тСст Π·Π° сваку Π»ΠΈΠ½ΠΈΡ˜Ρƒ Π½Π° нашој ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎΡ˜ листи.

Када ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΠΊΠ΅, ΠΏΠΎΠΊΡƒΡˆΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π²ΠΎ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ тСстовС. Ако стС ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ инсталирали pre-commit Π·Π°ΠΊΠ°Ρ‡ΠΈΡ‚Π΅ Ρ€Π°Π½ΠΈΡ˜Π΅, Π½ΠΎΠ²ΠΎΠ΄ΠΎΠ΄Π°Ρ‚ΠΈ тСст Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚, Π½Π΅Ρ›Π΅ успСти ΠΈ Π½ΠΈΡˆΡ‚Π° Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΡƒΡ€Π΅Π·Π°Π½ΠΎ. Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌΡƒ Π΄Π° Ρ‚Π°ΠΊΠΎ Π·Π½Π°ΠΌΠΎ Π΄Π° наши тСстови Π·Π°ΠΏΡ€Π°Π²ΠΎ Π½Π΅ΡˆΡ‚ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρƒ. Π—Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΎ, Π°ΠΊΠΎ бисмо ΠΏΠΎΡ‡Π΅Π»ΠΈ са ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€Π΅ тСстова, ΠΏΡ€ΠΎΠ»Π°Π·Π°ΠΊ тСстова Π±ΠΈ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° Π·Π½Π°Ρ‡ΠΈ Π΄Π° јС ΠΊΠΎΠ΄ Ρ€Π°Π΄ΠΈΠΎ ΠΊΠ°ΠΊΠΎ сС ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Π»ΠΎ ΠΈΠ»ΠΈ Π΄Π° тСстови Π·Π°ΠΏΡ€Π°Π²ΠΎ Π½ΠΈΡˆΡ‚Π° Π½Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρƒ. Осим Ρ‚ΠΎΠ³Π°, Π΄Π° нисмо ΡƒΠΎΠΏΡˆΡ‚Π΅ написали тСстовС, ΠΌΠΎΠΆΠ΄Π° бисмо ΠΈΡ… ΠΏΠΎΡ‚ΠΏΡƒΠ½ΠΎ Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΠ»ΠΈ, Ρ˜Π΅Ρ€ нас Π½ΠΈΡˆΡ‚Π° Π½Π΅ Π±ΠΈ подсСћало Π½Π° Ρ‚ΠΎ.

ВСст Π²ΠΎΡ’Π΅Π½ Ρ€Π°Π·Π²ΠΎΡ˜ (Π’Π”Π”)

Π’Π”Π” ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ писањС тСстова ΠΏΡ€Π΅ ΠΊΠΎΠ΄Π°. Π’ΠΈΠΏΠΈΡ‡Π°Π½ Ρ‚ΠΎΠΊ Ρ€Π°Π΄Π° који користи Π’Π”Π” ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ.

  1. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ тСст.
  2. ΠŸΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ свС тСстовС ΠΈ ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° Π½ΠΎΠ²ΠΈ тСст Π½Π΅ успС.
  3. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄.
  4. ΠŸΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ тСстовС, ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° сви тСстови ΠΏΡ€ΠΎΡ’Ρƒ.
  5. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ свој ΠΊΠΎΠ΄.
  6. ΠŸΠΎΠ½Π°Π²Ρ™Π°ΡšΠ΅.

ΠŸΠΎΡˆΡ‚ΠΎ су Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ тСстова који нису успСли ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ΠΈ Ρ†Ρ€Π²Π΅Π½ΠΎΠΌ бојом, Π° ΠΎΠ½ΠΈ који су ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ Π·Π΅Π»Π΅Π½ΠΎΠΌ бојом, циклус јС ΠΏΠΎΠ·Π½Π°Ρ‚ ΠΈ ΠΊΠ°ΠΎ Ρ†Ρ€Π²Π΅Π½ΠΎ-Π·Π΅Π»Π΅Π½ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€.

Васк

ΠŸΡ€Π²ΠΎ, ΠΏΠΎΠΊΡƒΡˆΠ°Ρ˜Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ тСстовС ΠΈ пуститС ΠΈΡ… Π΄Π° Π½Π΅ ΡƒΡΠΏΠ΅Ρ˜Ρƒ, Π° Π·Π°Ρ‚ΠΈΠΌ Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ ΠΈ ΡƒΡ€Π΅Π·ΡƒΡ˜Ρ‚Π΅ тСкст самС листС ΠΊΠΎΡ€Π°ΠΊΠ° ЦИ. Π’ΠΈΠ΄Π΅Ρ›Π΅Ρ‚Π΅ Π΄Π° тСстови ΠΏΡ€ΠΎΠ»Π°Π·Π΅ (β€žΠ·Π΅Π»Π΅Π½ΠΎβ€œ).
Π—Π°Ρ‚ΠΈΠΌ ΠΎΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ΄ Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠΌ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ ΠΈ Π³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ сС ΠΏΠΎΠΊΡ€Π΅Ρ›Ρƒ тСстови Ρƒ Π“ΠΈΡ‚Π₯ΡƒΠ± ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΡƒ Π½Π° Π΄Π½Ρƒ Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π΅ ΠΎ Π·Π°Ρ…Ρ‚Π΅Π²Ρƒ Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΡƒ ПР статуса.

  1. ΠŸΡ€Π΅Π±Π°Ρ†ΠΈΡ‚Π΅ сС Π½Π° Π³Ρ€Π°Π½Ρƒ feature.
  2. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ ΠΎΠ²Π΅ тСстовС Ρƒ ci.test.js послС послСдњСг ΠΏΠΎΠ·ΠΈΠ²Π° it (...);.

    it('5. Merge/rebase commits from master. Make tests pass on the merge result.', () => {
      expect(/.*merge.*commits.*testss+pass.*/ig.test(fileContents)).toBe(true);
    });
    
    it('6. Deploy from the feature branch to production.', () => {
      expect(/.*Deploy.*tos+production.*/ig.test(fileContents)).toBe(true);
    });
    
    it('7. If everything is good in production for some period of time, merge changes to master.', () => {
      expect(/.*merge.*tos+master.*/ig.test(fileContents)).toBe(true);
    });

  3. ΠŸΠΎΠΊΡƒΡˆΠ°Ρ˜Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ тСстовС. Ако pre-commit ΠΊΡƒΠΊΠ° јС инсталирана, ΠΏΠΎΠΊΡƒΡˆΠ°Ρ˜ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° Π½Π΅Ρ›Π΅ успСти.
  4. Π—Π°Ρ‚ΠΈΠΌ Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ овај тСкст Ρƒ ci.md.
    5. Merge/rebase commits from master. Make tests pass on the merge result.  
    6. Deploy from the feature branch with a sneaky bug to production.
    7. If everything is good in production for some period of time, merge changes to master. 
  5. НаправитС ΠΈ унСситС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ.
  6. ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ Π³Ρ€Π°Π½ΠΈ feature.

Π‘Π°Π΄Π° Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΎΠ²Π°ΠΊΠΎ
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π’ΠΈΠΌΠΎΠ²ΠΈ


# ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π° Π²Π΅Ρ‚ΠΊΡƒ feature
git checkout feature

# Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ тСсты Π² ci.test.js ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅

# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² индСкс ci.test.js Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·ΠΆΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ
git add ci.test.js

# ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ тСсты. Если pre-commit hook установлСны, ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚.
git commit

# Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ тСкст Π² ci.md ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅

# ВнСситС измСнСния ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ ΠΈΡ…
git add ci.md
git commit -m "Add the remaining CI steps"

# ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ измСнСния Π² Π²Π΅Ρ‚ΠΊΡƒ feature
git push

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ спајања

Π˜Π΄ΠΈΡ‚Π΅ Π½Π° Π—Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Ρƒ ΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΡ€Π°ΠΊΠ°.

Иако нисмо ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ Π½ΠΈΡˆΡ‚Π° лошС ΠΈ тСстови Π·Π° наш ΠΊΠΎΠ΄ су ΠΏΡ€ΠΎΡˆΠ»ΠΈ, још ΡƒΠ²Π΅ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° спојимо Π³Ρ€Π°Π½Ρƒ feature ΠΈ master. Π’ΠΎ јС Π·Π°Ρ‚ΠΎ ΡˆΡ‚ΠΎ јС Π΄Ρ€ΡƒΠ³Π° Π½ΠΈΡ‚ bugfix Π±ΠΈΠΎ спојСн са master Π΄ΠΎΠΊ смо Ρ€Π°Π΄ΠΈΠ»ΠΈ Π½Π° ΠΎΠ²ΠΎΠΌ ПР-Ρƒ.
Ово ствара ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Ρƒ Ρƒ којој ΡƒΠ΄Π°Ρ™Π΅Π½Π° Π³Ρ€Π°Π½Π° master ΠΈΠΌΠ° Π½ΠΎΠ²ΠΈΡ˜Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΠΎΠ΄ ΠΎΠ½Π΅ Π½Π° којој смо засновали Π³Ρ€Π°Π½Ρƒ feature. Π—Π±ΠΎΠ³ ΠΎΠ²ΠΎΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ само Π΄Π° ΠΏΡ€Π΅ΠΌΠΎΡ‚Π°ΠΌΠΎ Π₯ЕАД master Π΄ΠΎ ΠΊΡ€Π°Ρ˜Π° ΠΊΠΎΠ½Ρ†Π° feature. Π£ овој ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜ΠΈ, ΠΌΠΎΡ€Π°ΠΌΠΎ ΠΈΠ»ΠΈ Π΄Π° спојимо ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ feature рСбасС master. Π“ΠΈΡ‚Π₯ΡƒΠ± Π·Π°ΠΏΡ€Π°Π²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈ аутоматско спајањС Π°ΠΊΠΎ Π½Π΅ΠΌΠ° сукоба. НаТалост, Ρƒ нашој ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜ΠΈ, ΠΎΠ±Π΅ Π³Ρ€Π°Π½Π΅ ΠΈΠΌΠ°Ρ˜Ρƒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ†ΠΈ ci.md. Ова ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π° јС ΠΏΠΎΠ·Π½Π°Ρ‚Π° ΠΊΠ°ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ спајања ΠΈ ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° јС Ρ€Π΅ΡˆΠΈΠΌΠΎ Ρ€ΡƒΡ‡Π½ΠΎ.

Π‘ΠΏΠΎΡ˜ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π±Π°Π·ΠΈΡ€Π°Ρ˜Ρ‚Π΅

Π‘Ρ‚ΠΎΠΏΠΈΡ‚ΠΈ

  • ΠŸΡ€Π°Π²ΠΈ Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΎ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ спајања ΠΈ Ρ‡ΡƒΠ²Π° Ρ€Π°Π΄Π½Ρƒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Ρƒ.
    • Π§ΡƒΠ²Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° Π³Ρ€Π°Π½Π° са ΡšΠΈΡ…ΠΎΠ²ΠΈΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΌ врСмСнским ΠΎΠ·Π½Π°ΠΊΠ°ΠΌΠ° ΠΈ Π°ΡƒΡ‚ΠΎΡ€ΠΈΠΌΠ°.
    • Π§ΡƒΠ²Π° Π‘Π₯А ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° ΠΈ Π²Π΅Π·Π΅ Π΄ΠΎ ΡšΠΈΡ… Ρƒ Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π°ΠΌΠ° ΠΎ Π·Π°Ρ…Ρ‚Π΅Π²ΠΈΠΌΠ° Π·Π° ΠΈΠ·ΠΌΠ΅Π½Ρƒ.
  • Π—Π°Ρ…Ρ‚Π΅Π²Π° Ρ˜Π΅Π΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ сукоба.
  • Π§ΠΈΠ½ΠΈ ΠΏΡ€ΠΈΡ‡Ρƒ Π½Π΅Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΎΠΌ.
    • ΠŸΡ€ΠΈΡ‡Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Ρ‚Π΅ΡˆΠΊΠ° Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π·Π±ΠΎΠ³ Π²Π΅Π»ΠΈΠΊΠΎΠ³ Π±Ρ€ΠΎΡ˜Π° Π³Ρ€Π°Π½Π° (подсСћа Π½Π° Π˜Π”Π• ΠΊΠ°Π±Π»).
    • ΠžΡ‚Π΅ΠΆΠ°Π²Π° аутоматско ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°, Π½ΠΏΡ€. git bisect мањС корисно - Π½Π°Ρ›ΠΈ Ρ›Π΅ само ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ спајања.

РСбасС

  • ΠŸΠΎΠ½Π°Π²Ρ™Π° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° ΠΈΠ· Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ Π³Ρ€Π°Π½Π΅ Π½Π° Π²Ρ€Ρ…Ρƒ основнС Π³Ρ€Π°Π½Π΅ јСдан Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ.
    • Π“Π΅Π½Π΅Ρ€ΠΈΡˆΡƒ сС Π½ΠΎΠ²Π° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° са Π½ΠΎΠ²ΠΈΠΌ Π‘Π₯А-ΠΎΠ²ΠΈΠΌΠ°, ΡˆΡ‚ΠΎ Π΄ΠΎΠ²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ³Π° Π΄Π° сС ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° Ρƒ Π“ΠΈΡ‚Π₯ΡƒΠ±-Ρƒ ΠΏΠΎΠ΄ΡƒΠ΄Π°Ρ€Π°Ρ˜Ρƒ са ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΌ Π·Π°Ρ…Ρ‚Π΅Π²ΠΈΠΌΠ° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅, Π°Π»ΠΈ Π½Π΅ ΠΈ са ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈΠΌ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΌΠ°.
    • Π£Ρ€Π΅Π·ΠΈΠ²Π°ΡšΠ° сС ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΎΠ²Π°Ρ‚ΠΈ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠΎΠ²Π°Ρ‚ΠΈ Ρƒ процСсу, ΠΈΠ»ΠΈ Ρ‡Π°ΠΊ ΡΠΏΠΎΡ˜ΠΈΡ‚ΠΈ Ρƒ јСдно.
  • МоТда Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΠΈ вишС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΠ°Ρ‚Π°.
  • ΠžΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π²Π°ΠΌ Π΄Π° ΠΎΠ΄Ρ€ΠΆΠΈΡ‚Π΅ Π»ΠΈΠ½Π΅Π°Ρ€Π½Ρƒ ΠΏΡ€ΠΈΡ‡Ρƒ.
    • ΠŸΡ€ΠΈΡ‡Ρƒ јС ΠΌΠΎΠΆΠ΄Π° лакшС Ρ‡ΠΈΡ‚Π°Ρ‚ΠΈ свС Π΄ΠΎΠΊ нијС ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Ρ‡ΠΊΠ° Π±Π΅Π· Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ Ρ€Π°Π·Π»ΠΎΠ³Π°.
    • Аутоматско ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° јС ΠΌΠ°Π»ΠΎ лакшС: ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° git bisect, ΠΌΠΎΠΆΠ΅ ΡƒΡ‡ΠΈΠ½ΠΈΡ‚ΠΈ аутоматско Π²Ρ€Π°Ρ›Π°ΡšΠ΅ јаснијим ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Ρ™ΠΈΠ²ΠΈΡ˜ΠΈΠΌ.
  • Π—Π°Ρ…Ρ‚Π΅Π²Π° ΠΎΠ±Ρ˜Π°Π²Ρ™ΠΈΠ²Π°ΡšΠ΅ Π³Ρ€Π°Π½Π΅ са ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½ΠΈΠΌ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ΠΌ са заставицом --force ΠΊΠ°Π΄Π° сС користи са Π·Π°Ρ…Ρ‚Π΅Π²ΠΈΠΌΠ° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅.

Π’ΠΈΠΏΠΈΡ‡Π½ΠΎ, Ρ‚ΠΈΠΌΠΎΠ²ΠΈ сС слаТу Π΄Π° ΡƒΠ²Π΅ΠΊ користС исту ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Ρƒ ΠΊΠ°Π΄Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° спојС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅. Ово ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ β€žΡ‡ΠΈΡΡ‚ΠΎβ€œ ΡΡ‚Π°ΠΏΠ°ΡšΠ΅ ΠΈΠ»ΠΈ β€žΡ‡ΠΈΡΡ‚ΠΎβ€œ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ Π½Π° Π²Ρ€Ρ…Ρƒ, ΠΈΠ»ΠΈ Π½Π΅ΡˆΡ‚ΠΎ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ, ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΠ±Π°Π²Ρ™Π°ΡšΠ΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° Π½Π° Π²Ρ€Ρ…Ρƒ (git rebase -i) Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π·Π° Π³Ρ€Π°Π½Π΅ којС нису ΠΎΠ±Ρ˜Π°Π²Ρ™Π΅Π½Π΅ Ρƒ јавном ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ, Π°Π»ΠΈ сС ΡΠΏΠ°Ρ˜Π°Ρ˜Ρƒ Π·Π° "јавнС" Π³Ρ€Π°Π½Π΅.

ОвдС Ρ›Π΅ΠΌΠΎ користити спајањС.

Васк

  1. Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° јС ΠΊΠΎΠ΄ Ρƒ локалној Π³Ρ€Π°Π½ΠΈ master Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ΠΎ ΠΈΠ· ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠ³ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π°.
  2. ΠŸΡ€Π΅Π±Π°Ρ†ΠΈΡ‚Π΅ сС Π½Π° Π³Ρ€Π°Π½Ρƒ feature.
  3. ΠŸΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ ΡΡ‚Π°ΠΏΠ°ΡšΠ΅ са Π³Ρ€Π°Π½ΠΎΠΌ master. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ спајања Π·Π±ΠΎΠ³ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ ci.md.
  4. Π Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚Π°ΠΊΠΎ Π΄Π° наша листа ЦИ ΠΊΠΎΡ€Π°ΠΊΠ° ΠΈ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π° ΠΎ Ρ‚ΠΎΠΌΠ΅ остану Ρƒ тСксту.
  5. ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ спајањСм Π½Π° ΡƒΠ΄Π°Ρ™Π΅Π½Ρƒ Π³Ρ€Π°Π½Ρƒ feature.
  6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ статус Π·Π°Ρ…Ρ‚Π΅Π²Π° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ Ρƒ корисничком ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΡƒ Π“ΠΈΡ‚Π₯ΡƒΠ±-Π° ΠΈ ΡΠ°Ρ‡Π΅ΠΊΠ°Ρ˜Ρ‚Π΅ Π΄ΠΎΠΊ сС спајањС Π½Π΅ Ρ€Π΅ΡˆΠΈ.

Π’ΠΈΠΌΠΎΠ²ΠΈ

# Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π² локальноС Π²Π΅Ρ‚ΠΊΠ΅ `master` ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория.
git checkout master
git pull

# ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ feature
git checkout feature

# Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠΉΡ‚Π΅ слияниС с Π²Π΅Ρ‚ΠΊΠΎΠΉ master 
git merge master

# A merge conflict related to concurrent changes to ci.md will be reported
# => Auto-merging ci.md
#    CONFLICT (content): Merge conflict in ci.md
#    Automatic merge failed; fix conflicts and then commit the result.

# Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈ наш список шагов CI, ΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΌ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π² тСкстС.
# ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ci.md Ρ‡Ρ‚ΠΎΠ± ΠΎΠ½ Π½Π΅ содСрТал ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния
git add ci.md
git merge --continue
# ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сообщСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

# ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ feature.
git push

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статус запроса Π½Π° измСнСния Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС GitHub, Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠΊΠ° слияниС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ.

Бјајан посао!

Π—Π°Π²Ρ€ΡˆΠΈΠ»ΠΈ стС са листом ΠΈ сада ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° ΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ master.

Π—Π°Π΄Π°Ρ‚Π°ΠΊ: ΠžΠ΄ΠΎΠ±Ρ€Π°Π²Π°ΡšΠ΅ Π·Π°Ρ…Ρ‚Π΅Π²Π° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ β€žΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΡ€Π°ΠΊΠ°β€œ

  1. ΠžΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅.
  2. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠ‘ΠΏΠΎΡ˜ΠΈ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅β€œ.
  3. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠŸΠΎΡ‚Π²Ρ€Π΄ΠΈ ΡΠΏΠ°Ρ˜Π°ΡšΠ΅β€œ.
  4. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠ˜Π·Π±Ρ€ΠΈΡˆΠΈ Π³Ρ€Π°Π½Ρƒβ€œ Ρ˜Π΅Ρ€ Π½Π°ΠΌ вишС нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°.

Ово јС Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ вашС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π°

КаТС сС Π΄Π° сС β€žΡ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅ користити Π΄Π° сС ΠΏΠΎΠΊΠ°ΠΆΠ΅ присуство Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°, Π°Π»ΠΈ Π½ΠΈΠΊΠ°Π΄Π° Π΄Π° сС ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡšΠΈΡ…ΠΎΠ²ΠΎ ΠΎΠ΄ΡΡƒΡΡ‚Π²ΠΎβ€œ. Иако смо ΠΈΠΌΠ°Π»ΠΈ тСстовС ΠΈ нису Π½Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ΅, ΠΏΠΎΠ΄ΠΌΡƒΠΊΠ»Π° Π³Ρ€Π΅ΡˆΠΊΠ° сС ΡƒΠ²ΡƒΠΊΠ»Π° Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡšΡƒ.

Π£ ΠΎΠ²Π°ΠΊΠ²ΠΎΠΌ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Ρƒ, ΠΌΠΎΡ€Π°ΠΌΠΎ Π²ΠΎΠ΄ΠΈΡ‚ΠΈ Ρ€Π°Ρ‡ΡƒΠ½Π° ΠΎ:

  • ΡˆΡ‚Π° јС распорСђСно Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡšΠΈ;
  • ΠΊΠΎΠ΄ Ρƒ Π½ΠΈΡ‚ΠΈ master са Π³Ρ€Π΅ΡˆΠΊΠΎΠΌ, ΠΎΠ΄ којС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΌΠΎΠ³Ρƒ Π·Π°ΠΏΠΎΡ‡Π΅Ρ‚ΠΈ Π½ΠΎΠ²ΠΈ Ρ€Π°Π΄.

Π”Π° Π»ΠΈ Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠΌ Ρƒ ΡΠ»Π΅Π΄Π΅Ρ›ΠΎΡ˜ Π²Π΅Ρ€Π·ΠΈΡ˜ΠΈ?

Π’Ρ€Π°Ρ›Π°ΡšΠ΅ ΡƒΠ½Π°Π·Π°Π΄ јС процСс ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ° ΠΏΠΎΠ·Π½Π°Ρ‚Π΅ Π΄ΠΎΠ±Ρ€Π΅ Ρ€Π°Π½ΠΈΡ˜Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ˜Ρƒ ΠΈ Π²Ρ€Π°Ρ›Π°ΡšΠ° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° који садрТС Π³Ρ€Π΅ΡˆΠΊΡƒ. β€žΠ€ΠΈΠΊΡΠΈΡ€Π°ΡšΠ΅ ΡƒΠ½Π°ΠΏΡ€Π΅Π΄β€œ јС додавањС ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ΅ Ρƒ master ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Ρƒ Π½ΠΎΠ²Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ ΡˆΡ‚ΠΎ јС ΠΏΡ€Π΅ ΠΌΠΎΠ³ΡƒΡ›Π΅. ΠŸΠΎΡˆΡ‚ΠΎ сС АПИ-ји ΠΈ шСмС Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΌΠ΅ΡšΠ°Ρ˜Ρƒ ΠΊΠ°ΠΊΠΎ сС ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅ΡšΡƒΡ˜Π΅ Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡšΡƒ, ΡƒΠ· ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Ρƒ испоруку ΠΈ Π΄ΠΎΠ±Ρ€Ρƒ покривСност тСстом, Π²Ρ€Π°Ρ›Π°ΡšΠ΅ јС ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅ΠΆΠ΅ ΠΈ Ρ€ΠΈΠ·ΠΈΡ‡Π½ΠΈΡ˜Π΅ ΠΎΠ΄ ΠΏΠΎΠΏΡ€Π°Π²Ρ™Π°ΡšΠ° Ρƒ ΡΠ»Π΅Π΄Π΅Ρ›ΠΎΡ˜ Π²Π΅Ρ€Π·ΠΈΡ˜ΠΈ.

ΠŸΠΎΡˆΡ‚ΠΎ Π²Ρ€Π°Ρ›Π°ΡšΠ΅ ΡƒΠ½Π°Π·Π°Π΄ Π½Π΅ носи Π½ΠΈΠΊΠ°ΠΊΠ°Π² Ρ€ΠΈΠ·ΠΈΠΊ Ρƒ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΌΠΈ Ρ›Π΅ΠΌΠΎ ΠΈΡ›ΠΈ ΠΎΠ²ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ, Ρ˜Π΅Ρ€ Π½Π°ΠΌ Ρ‚ΠΎ Π΄ΠΎΠ·Π²ΠΎΡ™Π°Π²Π°

  • ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΡƒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Ρƒ ΡˆΡ‚ΠΎ јС ΠΏΡ€Π΅ ΠΌΠΎΠ³ΡƒΡ›Π΅;
  • Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ master ΠΎΠ΄ΠΌΠ°Ρ… ΠΏΠΎΠ³ΠΎΠ΄Π°Π½ Π·Π° ΠΏΠΎΡ‡Π΅Ρ‚Π°ΠΊ Π½ΠΎΠ²ΠΎΠ³ посла.

Васк

  1. ΠŸΡ€Π΅Π±Π°Ρ†ΠΈΡ‚Π΅ сС Π½Π° Π³Ρ€Π°Π½Ρƒ master Π»ΠΎΠΊΠ°Π»Π½ΠΎ.
  2. ΠΠΆΡƒΡ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ΠΈΠ· ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠ³ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π°.
  3. Π’Ρ€Π°Ρ‚ΠΈΡ‚Π΅ ПР објСдињавањС ΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΊΠΎΡ€Π°ΠΊΠ° Π² master.
  4. ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠΌ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ.

Ово јС ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π° ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° са Π²Ρ€Π°Ρ›Π΅Π½ΠΈΠΌ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ΠΌ спајања
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π’ΠΈΠΌΠΎΠ²ΠΈ

# ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master.
git checkout master

# ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория.
git pull

# ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния PR Steps review Π² master.
# ΠœΡ‹ отмСняСм ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ истории, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ
git show HEAD

# ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» послСдним Π² Π²Π΅Ρ‚ΠΊΠ΅ master Π΄ΠΎ слияния, Π±Ρ‹Π» ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ
git revert HEAD -m 1
# ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

# ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ измСнСния Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git push

Π‘Π°ΠΌΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° ci.md вишС Π½Π΅ садрТи тСкст "снСаки Π±ΡƒΠ³" Π½Π°ΠΊΠΎΠ½ Π²Ρ€Π°Ρ›Π°ΡšΠ° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° спајања.

ΠŸΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ листу ΠΊΠΎΡ€Π°ΠΊΠ° ЦИ ΠΈ Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ јС Π½Π° мастСр

ΠŸΠΎΡ‚ΠΏΡƒΠ½ΠΎ смо Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ ΡΡ‚Π°ΠΏΠ°ΡšΠ° Π³Ρ€Π°Π½Π΅. feature. Π”ΠΎΠ±Ρ€Π° вСст јС Π΄Π° сада Π½Π΅ΠΌΠ°ΠΌΠΎ Π³Ρ€Π΅ΡˆΠΊΠ΅ master. Π›ΠΎΡˆΠ° вСст јС Π΄Π° јС нСстала ΠΈ наша Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π° листа ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΈΡ… ΠΊΠΎΡ€Π°ΠΊΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅. Π”Π°ΠΊΠ»Π΅, Ρƒ ΠΈΠ΄Π΅Π°Π»Π½ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ исправку Π½Π° ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ ΠΈΠ· feature ΠΈ Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΈΡ… Ρƒ master зајСдно са ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΌ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅ΠΌΠΎ приступити Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚Π΅ Π½Π°Ρ‡ΠΈΠ½Π΅:

  • Π²Ρ€Π°Ρ‚ΠΈ ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅ којС ΠΏΠΎΠ½ΠΈΡˆΡ‚Π°Π²Π° ΡΡ‚Π°ΠΏΠ°ΡšΠ΅ feature с master;
  • прСмСсти ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° ΠΈΠ· ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎΠ³ feature.

Π Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈ Ρ‚ΠΈΠΌΠΎΠ²ΠΈ Ρƒ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ користС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚Π΅ приступС, Π°Π»ΠΈ ΠΌΠΈ Ρ›Π΅ΠΌΠΎ прСмСстити корисна ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° Ρƒ посСбну Π³Ρ€Π°Π½Ρƒ ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ посСбан Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ Π·Π° ΠΎΠ²Ρƒ Π½ΠΎΠ²Ρƒ Π³Ρ€Π°Π½Ρƒ.

Васк

  1. НаправитС Π½ΠΈΡ‚ ΠΏΠΎΠ΄ Π½Π°Π·ΠΈΠ²ΠΎΠΌ feature-fix ΠΈ ΠΏΡ€Π΅Ρ’ΠΈΡ‚Π΅ Π½Π° њСга.
  2. ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ сва ΡƒΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ° ΠΈΠ· ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π΅ Π³Ρ€Π°Π½Π΅ feature Ρƒ Π½ΠΎΠ²Ρƒ Π½ΠΈΡ‚. Π Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅ спајања Π΄ΠΎ ΠΊΠΎΡ˜ΠΈΡ… јС дошло Ρ‚ΠΎΠΊΠΎΠΌ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π΅.

    Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

  3. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ тСст Ρ€Π΅Π³Ρ€Π΅ΡΠΈΡ˜Π΅ Ρƒ ci.test.js:

    it('does not contain the sneaky bug', () => {
    expect( /.*sneakys+bug.*/gi.test(fileContents)).toBe(false);
    });

  4. ΠŸΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ тСстовС Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π΄Π° бистС Π±ΠΈΠ»ΠΈ сигурни Π΄Π° Π½Π΅Ρ›Π΅ пропасти.
  5. Π£ΠΊΠ»ΠΎΠ½ΠΈΡ‚Π΅ тСкст β€žΡΠ° скривСном Π³Ρ€Π΅ΡˆΠΊΠΎΠΌβ€œ. ci.md.
  6. Π”ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ тСста ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ листС ΠΊΠΎΡ€Π°ΠΊΠ° Ρƒ индСкс ΠΈ ΡƒΡ€Π΅Π·ΡƒΡ˜Ρ‚Π΅ ΠΈΡ….
  7. ΠžΠ±Ρ˜Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π°Π½Ρƒ Ρƒ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅.

Π’Ρ€Π΅Π±Π°Π»ΠΎ Π±ΠΈ Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈΡ‚Π΅ са Π½Π΅Ρ‡ΠΈΠΌ сличним ΠΎΠ²ΠΎΠΌΠ΅:
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

Π’ΠΈΠΌΠΎΠ²ΠΈ

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ feature-fix ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π½Π΅Π΅.
git checkout -b feature-fix

# ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΠΈΡ‚Π΅ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· Π±Ρ‹Π²ΡˆΠ΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ feature Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΈ пСрСносС.
# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ…ΡΡˆΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:
# - ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ списка: C0
# - Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ послСдниС элСмСнты списка: C2
git log --oneline --graph
git cherry-pick C0..C2
# Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния
# - ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ci.md ΠΈ/ΠΈΠ»ΠΈ ci.test.js
# - Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² индСкс
# - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ "git cherry-pick --continue", ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ рСгрСссионный тСст Π² ci.test.js
# ЗапуститС тСсты локально, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

# Π£Π΄Π°Π»ΠΈΡ‚Π΅ тСкст " with a sneaky bug" Π² ci.md.

# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² индСкс измСнСния тСстов ΠΈ Π² спискС шагов ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ ΠΈΡ….
git add ci.md ci.test.js
git commit -m "Fix the bug in steps list"

# ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
git push --set-upstream origin feature-fix

НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅.

НаправитС Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ са насловом ΠŸΠΎΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅... Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜ feature-fix ΠΏΠΎΠΏΡƒΡ‚ β€žΠ³Π»Π°Π²Π½Π΅ Π³Ρ€Π°Π½Π΅β€œ ΠΈ master ΠΏΠΎΠΏΡƒΡ‚ "основнС Π³Ρ€Π°Π½Π΅".
Π‘Π°Ρ‡Π΅ΠΊΠ°Ρ˜Ρ‚Π΅ Π΄ΠΎΠΊ сС тСстови Π·Π°Π²Ρ€ΡˆΠ΅. Бтатус тСстова ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π½Π° Π΄Π½Ρƒ ПР Π΄ΠΈΡΠΊΡƒΡΠΈΡ˜Π΅.

Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° стС инсталирали master Ρƒ њСговој Ρ„ΠΎΡ€ΠΊ Ρ‚Ρ…Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ Као β€žΠΎΡΠ½ΠΎΠ²Π½Π° Π³Ρ€Π°Π½Π°β€œ, Π½Π΅Ρ›Ρƒ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ‚ΠΈ Π½Π° Π·Π°Ρ…Ρ‚Π΅Π²Π΅ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»Π° Π·Π° курс.

ΠžΠ΄ΠΎΠ±Ρ€ΠΈ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ β€žΠŸΠΎΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅β€œ

Π₯Π²Π°Π»Π° Π½Π° исправци! Молимо вас Π΄Π° ΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ Ρƒ master ΠΈΠ· Π·Π°Ρ…Ρ‚Π΅Π²Π° Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅.

Васк

  1. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠ‘ΠΏΠΎΡ˜ΠΈ Π·Π°Ρ…Ρ‚Π΅Π² Π·Π° ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅β€œ.
  2. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠŸΠΎΡ‚Π²Ρ€Π΄ΠΈ ΡΠΏΠ°Ρ˜Π°ΡšΠ΅β€œ.
  3. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° β€žΠ˜Π·Π±Ρ€ΠΈΡˆΠΈ Π³Ρ€Π°Π½Ρƒβ€œ Ρ˜Π΅Ρ€ Π½Π°ΠΌ вишС нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°.

Ово јС ΠΎΠ½ΠΎ ΡˆΡ‚ΠΎ Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Ρƒ ΠΎΠ²ΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ.
Π’ΠΈΠΏΠΈΡ‡Π½Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ са ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜ΠΎΠΌ

ЧСститамо!

Π—Π°Π²Ρ€ΡˆΠΈΠ»ΠΈ стС свС ΠΊΠΎΡ€Π°ΠΊΠ΅ којС Ρ™ΡƒΠ΄ΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠ·ΠΈΠΌΠ°Ρ˜Ρƒ Ρ‚ΠΎΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π΅.

Ако ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ са курсом ΠΈΠ»ΠΈ Π·Π½Π°Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³Π° ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Ρ‚Π΅, ΠΌΠΎΠ»ΠΈΠΌΠΎ вас Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° са ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΎΠΌ Π·Π° курс. Овај курс Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° користСћи Π“ΠΈΡ‚Π₯ΡƒΠ± Π›Π΅Π°Ρ€Π½ΠΈΠ½Π³ Π›Π°Π± ΠΊΠ°ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€