āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻ—āĻŋāĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻļāĻŋāĻ–ā§‡āĻ›ā§‡āĻ¨ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ (CI) āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡? āĻ…āĻĨāĻŦāĻž āĻšāĻ¯āĻŧāĻ¤ā§‹ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§ˆāĻ¨āĻ¨ā§āĻĻāĻŋāĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨? āĻāĻ‡ āĻ•ā§‹āĻ°ā§āĻ¸āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ GitHub āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻĻā§‡āĻŦā§‡āĨ¤ āĻāĻ‡ āĻ•ā§‹āĻ°ā§āĻ¸āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ‡āĻœāĻžāĻ°ā§āĻĄ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ¨āĻ¯āĻŧ āĻ¯ā§‡āĻŸāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨; āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻ‡ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¯āĻž āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ†āĻ¸āĻ˛ā§‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ°āĻž āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻĄāĻŧāĻŋāĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻŋ āĻ¤āĻ¤ā§āĻ¤ā§āĻŦāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻŦāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻ•āĻ°āĻŋ?

āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻ•āĻ°āĻŦ, āĻ†āĻŽāĻ°āĻž āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ CI āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ, āĻ¯āĻž āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¯ā§‡ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° CI āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻ†āĻ¸āĻ˛āĻŸāĻŋāĻ° āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻ†āĻ¨āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§‡āĻŸāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

āĻāĻ‡ GIF āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻ•āĻŽāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ°ā§āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ—ā§āĻ°āĻ¸āĻ° āĻšāĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻāĻ–āĻžāĻ¨ā§‡ āĻœāĻŸāĻŋāĻ˛ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĨ¤

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ CI āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĻ¨:

  • āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ•āĻžāĻœ;
  • āĻ—ā§āĻŖāĻŽāĻžāĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—;
  • āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ•āĻžāĻœ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨;
  • āĻļāĻžāĻ–āĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦā§‡āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ (āĻ¸āĻ‚āĻ˜āĻžāĻ¤ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž);
  • āĻāĻ•āĻŸāĻŋ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸā§‡ā§ˇ

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻļāĻŋāĻ–āĻŦā§‡āĻ¨?

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡:

  • āĻāĻ•āĻŸāĻžāĻ¨āĻž āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ (CI) āĻ•āĻŋ?
  • āĻ¸āĻŋāĻ†āĻ‡-āĻ¤ā§‡ āĻ•ā§€ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ?
  • āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻŋ āĻāĻŦāĻ‚ āĻ•āĻ–āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ?
  • āĻŸā§‡āĻ¸ā§āĻŸ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ (āĻŸāĻŋāĻĄāĻŋāĻĄāĻŋ) āĻ•ā§€ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻŋāĻ†āĻ‡-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤?
  • āĻ†āĻŽāĻŋ āĻ•āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŦ āĻŦāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŦ?
  • āĻ°ā§‹āĻ˛ āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ āĻŋāĻ• āĻ•āĻ°āĻŦā§‡āĻ¨?

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻŽāĻŋ āĻ¸āĻŦ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ "āĻĒā§āĻ˛ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ" āĻāĻ° āĻŽāĻ¤ā§‹ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ†āĻŽāĻŋ āĻĒāĻžāĻ ā§āĻ¯ā§‡āĻ° āĻĒāĻžāĻ—āĻ˛āĻžāĻŽāĻŋ āĻ•āĻŽāĻžāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻ¤ā§‡ āĻŦāĻžāĻ•ā§āĻ¯āĻžāĻ‚āĻļ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻ†āĻŽāĻŋ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ "āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° āĻ¸ā§āĻ°āĻœāĻŋāĻ•" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¯ā§‡āĻŽāĻ¨ āĻŦāĻŋāĻ¸ā§āĻŽāĻ¯āĻŧāĻ•āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž "āĻ•āĻŽāĻŋāĻŸ" āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ†āĻ¸āĻ˛ā§‡ āĻāĻŸāĻŋ āĻ•āĻžāĻœā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ•āĻŋ?

āĻāĻ•āĻŸāĻžāĻ¨āĻž āĻ¸āĻŽāĻžāĻ•āĻ˛āĻžāĻ¨, āĻŦāĻž CI, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĻāĻ˛ā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄāĻ•ā§‡ āĻĻāĻŋāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŦāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•āĨ¤

āĻāĻ‡ āĻļāĻŦā§āĻĻāĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻŽāĻ¤āĻ­ā§‡āĻĻ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡

āĻŦāĻŋāĻ°ā§‹āĻ§ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋāĨ¤ āĻ•ā§‡āĻ‰ āĻ•ā§‡āĻ‰ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĻā§‡āĻ¨ āĻ¯ā§‡ āĻĻāĻŋāĻ¨ā§‡ āĻāĻ•āĻŦāĻžāĻ° āĻ•ā§‹āĻĄ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻ°āĻž āĻ†āĻ¸āĻ˛ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ¸āĻ‚āĻšāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻĻāĻ˛ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•ā§‡ āĻ¸āĻ•āĻžāĻ˛ā§‡ āĻ¤āĻžāĻœāĻž āĻ•ā§‹āĻĄ āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻ¨ā§āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻāĻ•āĻŦāĻžāĻ° āĻāĻŸāĻŋ āĻ¸āĻ‚āĻšāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋāĻ“ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤ āĻ†āĻĒāĻ¤ā§āĻ¤āĻŋ, āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻĻāĻŋāĻ¨ā§‡ āĻāĻ•āĻŦāĻžāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ•, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻĻāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ†āĻĒāĻ¤ā§āĻ¤āĻŋ āĻšāĻ˛ āĻ¯ā§‡ C++ āĻāĻ–āĻ¨ āĻ†āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ­āĻžāĻˇāĻž āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻŦā§ˆāĻ§āĻ•āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻ¤ā§āĻ°ā§āĻŸāĻŋ-āĻŽā§āĻ•ā§āĻ¤ āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻĻā§āĻ°ā§āĻŦāĻ˛āĨ¤ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸ā§‡āĻŸ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž) āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ "āĻŦāĻŋāĻ˛ā§āĻĄ + āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž" āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…āĻ­ā§āĻ¯āĻžāĻ¸ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻŦā§‡, āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡āĨ¤

āĻāĻ•āĻŸāĻžāĻ¨āĻž āĻ¸āĻŽāĻžāĻ•āĻ˛āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĒā§ƒāĻĨāĻ• āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ (āĻ•āĻ¨ā§āĻŸāĻŋāĻ¨āĻŋāĻ‰āĻ¯āĻŧāĻžāĻ¸ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ, āĻ¸āĻŋāĻĄāĻŋ) āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§€āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°ā§‹ āĻ•ā§‹āĻ°ā§āĻ¸ āĻœā§āĻĄāĻŧā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž

  1. āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ•ā§‹āĻĄ āĻŸāĻžāĻ¨ā§āĻ¨. āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ master. āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°.
  2. āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĒāĻžāĻ¸? āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒā§‡ āĻ¯āĻžāĻ“. āĻŦā§āĻ¯āĻ°ā§āĻĨ? āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨āĨ¤
  3. āĻ†āĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻŽā§‹āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻŦāĻž āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ§āĻžāĻ•ā§āĻ•āĻž āĻĻāĻŋāĻ¨āĨ¤
  4. āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨. āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻšāĻ˛āĻ¤ā§‡ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻ°āĻ“ āĻ•āĻŽāĻŋāĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ā§ˇ āĻĢāĻŋāĻšāĻžāĻ° āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤
  5. āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ°ā§āĻœ/āĻ°āĻŋāĻŦā§‡āĻ¸ āĻ•āĻŽāĻŋāĻŸāĨ¤ āĻŽāĻžāĻ°ā§āĻœ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤
  6. āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻļāĻžāĻ–āĻž āĻĨā§‡āĻ•ā§‡ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤
  7. āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ­āĻžāĻ˛ā§‹ āĻĨāĻžāĻ•āĻ˛ā§‡, āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

ī¸ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ āĻŋāĻ• āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ†āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨

āĻāĻ‡ āĻ•ā§‹āĻ°ā§āĻ¸āĻŸāĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ node.js и āĻ—āĻŋāĻŸ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ.

āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ—āĻŋāĻŸ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦāĨ¤

āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡ āĻ¯āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡.

āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ•āĻžāĻāĻŸāĻž) āĻ•ā§‹āĻ°ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻ¸āĻš āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ—āĻŋāĻŸāĻšāĻžāĻŦā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻāĻ‡ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻŽā§āĻŽāĻ¤ āĻšāĻ¨ āĻ•ā§‹āĻ°ā§āĻ¸ āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°.

āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨? āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻ°ā§āĻ¸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ•ā§‡ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ continuous-integration-team-scenarios-students, āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° GitHub āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻŦāĻ‚ URLāĻŸāĻŋ āĻāĻ‡āĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡ā§ˇ

https://github.com/<ваŅˆĐĩ иĐŧŅ ĐŋĐžĐģСОваŅ‚ĐĩĐģŅ ĐŊĐ° GitHub>/continuous-integration-team-scenarios-students

āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§ āĻāĻ‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻ•āĻ˛ āĻ•āĻ°āĻŦ <URL Ņ€ĐĩĐŋОСиŅ‚ĐžŅ€Đ¸Ņ>.

āĻ•ā§‹āĻŖ āĻŦāĻ¨ā§āĻ§āĻ¨ā§€ āĻŽāĻ¤ <Ņ‚ŅƒŅ‚> āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‹ āĻ¯ā§‡ GitHub āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻāĻ‡ āĻ•ā§‹āĻ°ā§āĻ¸ āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤. āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻŽāĻžāĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻĄāĻŧ āĻŦā§‹āĻ¤āĻžāĻŽāĻŸāĻŋ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻŋāĻŸāĻšāĻžāĻŦ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ

GitHub āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻŽāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ•ā§‹āĻ°ā§āĻ¸āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ¯ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ°āĻšāĻ¨āĻž āĻ•āĻ°āĻ›āĻŋ āĻ¤āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŽāĻžāĻ°ā§āĻ•āĻĄāĻžāĻ‰āĻ¨ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻŋāĻŸāĻšāĻžāĻŦā§‡āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨

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. āĻāĻŸāĻŋ āĻ…āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĻā§ƒāĻļā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻŋāĻ¨āĻŋ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¤āĻŋāĻ¨āĻŋ āĻ•ā§€ āĻ•āĻ°āĻ›ā§‡āĻ¨āĨ¤

āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ›ā§‡

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

āĻ†āĻŽāĻžāĻĻā§‡āĻ° CI āĻ§āĻžāĻĒā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻāĻ‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻŸāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŦā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ–āĻ¨āĻ“ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¨ā§‡āĻ‡, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻŋāĨ¤

ī¸ āĻ•āĻžāĻœ: āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§āĻ¨, āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ 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 ĐēĐ°Đē ĐžĐŋиŅĐ°ĐŊĐž вŅ‹ŅˆĐĩ

āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ—ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ•āĻ°āĻŦāĨ¤

āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

  • āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡:
    • āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦāĻž āĻ¯āĻĨāĻžāĻ¯āĻĨ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡;
    • āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻ‰āĻĒāĻ° (āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻŦāĻž JIT-āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻ­āĻžāĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯);
    • āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ (āĻ¯āĻ–āĻ¨ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ);
    • āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ¤ā§‡;
    • āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤

  • āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻŦāĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸā§‡:
    • āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻļāĻžāĻ–āĻž/āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
    • āĻāĻ‡ āĻĨā§āĻ°ā§‡āĻĄā§‡āĻ° āĻ•ā§‹āĻĄ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡.
    • āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ° āĻ¸āĻžāĻĨā§‡ master).
    • āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ / āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻ¯āĻ¤ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ˛ā§‡, āĻ¤āĻ¤āĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻžāĻŽāĻ°ā§āĻĨā§āĻ¯ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

  • āĻĻā§āĻ°ā§āĻ¤ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž - āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, CI āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡
  • āĻ§ā§€āĻ° āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž, āĻĻā§āĻ°ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž - āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ¤ā§‡, CI āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡
  • āĻ§ā§€āĻ° āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž - CI āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡
  • āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻ°āĻŋāĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚, āĻ˛ā§‹āĻĄ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¯āĻŧ-āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇ āĻŦāĻž āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž - CI/CD āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽā§‹āĻĄ/āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ/āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§€ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤

ī¸āĻŸāĻžāĻ¸ā§āĻ•

āĻ†āĻŽāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡ 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"

# ĐŖĐąĐĩдиŅ‚ĐĩŅŅŒ, Ņ‡Ņ‚Đž Ņ‚ĐĩŅŅ‚Ņ‹ СаĐŋŅƒŅĐēĐ°ŅŽŅ‚ŅŅ ĐŋĐĩŅ€ĐĩĐ´ ĐēĐžĐŧĐŧиŅ‚ĐžĐŧ.  

āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦāĻž āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ•ā§‹āĻĄ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§āĻ¨

āĻāĻ•āĻŦāĻžāĻ° āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻœāĻ¨āĻ¸āĻžāĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ GitHub-āĻāĻ° āĻ¸āĻžāĻĨā§‡, āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ (āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ•āĻžāĻāĻŸāĻž) āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ•āĻžāĻœāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

  • āĻ•āĻžāĻāĻŸāĻžāĻšāĻžāĻŽāĻšā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡, āĻāĻ•āĻœāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻ°ā§āĻ• āĻ¨āĻžāĻŽā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻŸāĻŋ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻ•āĻžāĻœāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ¸ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¤āĻžāĻ° āĻ•āĻžāĻāĻŸāĻžāĻšāĻžāĻŽāĻšā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ ā§‡āĻ˛ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ—āĻŋāĻŸāĻšāĻžāĻŦā§‡āĻ° āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•ā§‹āĻ°ā§āĻ¸ā§‡āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ [Team Work āĻāĻŦāĻ‚ CI with Git] (http://devops.redpill.solutions/).
  • āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻ˛ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļāĻžāĻ–āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž master āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ "āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤"āĨ¤ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯āĻ°āĻž āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ master āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĨ¤

āĻāĻ‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•ā§‹āĻ°ā§āĻ¸ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ°ā§āĻŽāĻĒā§āĻ°āĻŦāĻžāĻš āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¯āĻž āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•.

ī¸āĻŸāĻžāĻ¸ā§āĻ•

  • āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ°ā§āĻŽāĻ°āĻ¤ āĻļāĻžāĻ–āĻžāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§āĻ¨

āĻ•āĻŽāĻžāĻ¨ā§āĻĄ

git push --set-upstream origin feature

āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻāĻ•āĻŸāĻŋ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž... āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ feature āĻ¯ā§‡āĻŽāĻ¨ "āĻŽāĻžāĻĨāĻž āĻļāĻžāĻ–āĻž" āĻāĻŦāĻ‚ master āĻ¯ā§‡āĻŽāĻ¨ "āĻŦā§‡āĻ¸ āĻļāĻžāĻ–āĻž"āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ master āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ•āĻžāĻāĻŸāĻžāĻšāĻžāĻŽāĻš āĻāĻ•āĻŸāĻŋ "āĻŦā§‡āĻ¸ āĻļāĻžāĻ–āĻž" āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ•ā§‹āĻ°ā§āĻ¸ āĻ‰āĻĒāĻ•āĻ°āĻŖ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻœāĻŦāĻžāĻŦ āĻĻā§‡āĻŦ āĻ¨āĻžāĨ¤

GitHub lingo-āĻ, "āĻŦā§‡āĻ¸ āĻļāĻžāĻ–āĻž" āĻšāĻ˛ āĻ¸ā§‡āĻ‡ āĻļāĻžāĻ–āĻž āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœāĻ•ā§‡ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻāĻŦāĻ‚ "āĻšā§‡āĻĄ āĻŦā§āĻ°āĻžāĻžā§āĻš" āĻšāĻ˛ āĻ¸ā§‡āĻ‡ āĻļāĻžāĻ–āĻž āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻšāĻ˛āĻ¤ā§‡ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŽāĻŋāĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ā§ˇ

āĻĒā§āĻ˛ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ (āĻĒāĻŋāĻ†āĻ°)

āĻĒā§āĻ˛ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ (āĻĒāĻŋāĻ†āĻ°) āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ¨āĻĨāĻŋāĻ° āĻ•ā§‹āĻĄ, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ•ā§‹āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•ā§‹āĻĄā§‡ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ°āĻŋāĻŽā§‹āĻŸ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ•ā§‹āĻĄā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ° āĻĒāĻ°ā§‡, āĻ¤āĻŋāĻ¨āĻŋ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¤āĻžāĻ° āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ°āĻŋāĻŽā§‹āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ°āĻžāĻ–ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻĻā§‡āĻ° āĻ¨āĻŋāĻ¤ā§‡ āĻŦāĻ˛ā§‡āĻ¨(āĻŸāĻžāĻ¨) āĻāĻ° āĻ•ā§‹āĻĄ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¤āĻžāĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻ‚āĻšāĻ¤ āĻ•āĻ°ā§‡(āĻŽāĻžāĻ°ā§āĻœ) āĻ¤āĻžāĻ°āĨ¤ āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻžāĻŽā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§.

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻ¸āĻ˛ā§‡ GitHub āĻŦāĻž āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻĻāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—, āĻ­āĻ¯āĻŧā§‡āĻ¸ āĻ•āĻ˛ āĻŦāĻž āĻ‡āĻŽā§‡āĻ˛ āĻ¸āĻš āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻĢā§‹āĻ°āĻžāĻŽ-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻ¨āĻ“ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•āĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§:

  • āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤;
  • āĻ…āĻŸā§‹āĻŸā§‡āĻ¸ā§āĻŸāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸āĻŽāĻŦāĻ¯āĻŧāĻ¸ā§€āĻĻā§‡āĻ° āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§‡āĻ–āĻžāĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡;
  • āĻ•ā§‹āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ†āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ•āĻ•āĻ°āĻŖ;
  • āĻ¯āĻžāĻ¤ā§‡ āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ‡ āĻŦāĻž āĻ¸ā§‡āĻ‡ āĻ…āĻ‚āĻļā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖ āĻāĻŦāĻ‚ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ•āĻŋāĻ›ā§ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§‡āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¯āĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ—ā§āĻ˛āĻŋ āĻ­āĻžāĻ— āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻšāĻ¯ā§‹āĻ—ā§€āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻ‡āĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ†āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ āĻ¯āĻĻāĻŋ āĻ•āĻžāĻœāĻŸāĻŋ āĻ¸āĻšāĻœ āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ–ā§‹āĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻ•āĻŋāĻ›ā§ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§ āĻāĻŦāĻ‚ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻ•āĻŸāĻŋ PR āĻ–ā§āĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨: āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻŦāĻž āĻ•ā§‹āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻžāĻ‡ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¨ āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻ¯āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° @ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻĒāĻŋāĻ†āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§‡āĻ¨āĨ¤

  • āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨āĨ¤
  • āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻ¤ā§āĻŽāĻŋ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‹:
    • āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻŦāĻž āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻŋāĻ›ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• #āĻŦāĻžāĻ— āĻāĻŦāĻ‚ āĻ•āĻŽāĻŋāĻŸ āĻ¨āĻŽā§āĻŦāĻ°;
    • āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻ•ā§‡ @āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§āĻ¨, āĻ…āĻĨāĻŦāĻž āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°ā§‡ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° @āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨;
    • āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€āĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛ā§āĻ¨āĨ¤

āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻŋ PR āĻ–ā§āĻ˛āĻ˛ā§‡, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸ā§‡āĻŸ āĻšāĻŦā§‡ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻšā§‡āĻ• āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛ā§‹ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ GitHub āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ PR āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻ¨ā§€āĻšā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻļā§‡āĻˇ āĻšāĻ˛ā§‡ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨āĨ¤

ī¸ CI āĻ§āĻžāĻĒā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨

āĻāĻ‡ āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ•, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

ī¸ āĻŸāĻžāĻ¸ā§āĻ•: āĻāĻ‡ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

  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. "āĻļāĻžāĻ–āĻž āĻŽā§āĻ›ā§āĻ¨" āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ° āĻāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻāĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡ āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ¤ā§āĻ°āĨ¤
āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

ī¸ āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨

āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻ¸āĻšāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻžāĻœ āĻĢāĻ˛āĻžāĻĢāĻ˛. āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻŦāĻž āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° CI āĻ§āĻžāĻĒā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ¨āĻ¤ā§āĻ¨ āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋāĨ¤

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻ­āĻžāĻ°ā§‡āĻœ āĻœāĻĄāĻŧāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻ­āĻžāĻ°ā§‡āĻœ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ "āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž" āĻāĻ° āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻŦāĻ˛āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻĨāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻšāĻœ āĻ°āĻžāĻ–āĻŦ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšā§‡āĻ•āĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦāĨ¤

āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ¨ pre-commit āĻ†āĻ—ā§‡ hook, āĻ¨āĻ¤ā§āĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡, āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§‡, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§āĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻŽāĻœāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ†āĻ—ā§‡ āĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ‰āĻ¤ā§āĻ¤ā§€āĻ°ā§āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ…āĻĨāĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¨āĻž āĻ˛āĻŋāĻ–āĻ¤āĻžāĻŽ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­ā§āĻ˛ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻ¤āĻžāĻŽ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¤ āĻ¨āĻžāĨ¤

āĻŸā§‡āĻ¸ā§āĻŸ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ (TDD)

TDD āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ—ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°ā§‡āĨ¤ āĻŸāĻŋāĻĄāĻŋāĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ āĻāĻ‡āĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤

  1. āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨.
  2. āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  3. āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤
  4. āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨, āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒāĻžāĻ¸āĨ¤
  5. āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄ āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°.
  6. āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•āĻžāĻ°āĻŖ āĻ¯ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ˛āĻžāĻ˛ āĻ°āĻ™ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻŦā§āĻœ āĻ°āĻ™ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻšāĻ•ā§āĻ°āĻŸāĻŋāĻ•ā§‡ āĻ˛āĻžāĻ˛-āĻ¸āĻŦā§āĻœ-āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤

ī¸āĻŸāĻžāĻ¸ā§āĻ•

āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¤ā§‡ āĻĻāĻŋāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° CI āĻ§āĻžāĻĒ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒāĻžāĻ ā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽāĻŋāĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻšāĻšā§āĻ›ā§‡ ("āĻ¸āĻŦā§āĻœ")āĨ¤
āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ°āĻŋāĻŽā§‹āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻĒāĻŋāĻ†āĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ—āĻŋāĻŸāĻšāĻžāĻŦ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

  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 āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ PR āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤
āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻļāĻžāĻ–āĻž master āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻļāĻžāĻ–āĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ feature. āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻŽāĻžāĻĨāĻž āĻ°āĻŋāĻ“āĻ¯āĻŧāĻžāĻ‡āĻ¨ā§āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¨āĻž master āĻĨā§āĻ°ā§‡āĻĄā§‡āĻ° āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ feature. āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšāĻ¯āĻŧ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻŦāĻž āĻ•āĻŽāĻŋāĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ feature āĻĒā§āĻ¨āĻ°ā§āĻŦāĻžāĻ¸āĻ¨ master. GitHub āĻ†āĻ¸āĻ˛ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡āĨ¤ āĻšāĻžāĻ¯āĻŧ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, āĻ‰āĻ­āĻ¯āĻŧ āĻļāĻžāĻ–āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ ci.md. āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻœ āĻŦāĻŋāĻ°ā§‹āĻ§ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤, āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻŽāĻžāĻ°ā§āĻœ āĻŦāĻž āĻ°āĻŋāĻŦā§‡āĻ¸

āĻŽāĻžāĻ°ā§āĻœ

  • āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻŽāĻŋāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•āĻžāĻœā§‡āĻ° āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤
    • āĻ¤āĻžāĻĻā§‡āĻ° āĻŽā§‚āĻ˛ āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒ āĻāĻŦāĻ‚ āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽā§‚āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤
    • āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ•āĻŽāĻŋāĻŸā§‡āĻ° SHA āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  • āĻāĻ•āĻ•āĻžāĻ˛ā§€āĻ¨ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤
  • āĻ—āĻ˛ā§āĻĒāĻŸāĻŋāĻ•ā§‡ āĻ¨āĻ¨-āĻ˛āĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤
    • āĻŦā§ƒāĻšā§Ž āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻļāĻžāĻ–āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒāĻĄāĻŧāĻž āĻ•āĻ āĻŋāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻāĻ•āĻŸāĻŋ IDE āĻ¤āĻžāĻ°ā§‡āĻ° āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ)āĨ¤
    • āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ†āĻ°āĻ“ āĻ•āĻ āĻŋāĻ¨ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡, āĻ¯ā§‡āĻŽāĻ¨ git bisect āĻ•āĻŽ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ - āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻŽāĻŋāĻŸ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻŦā§‡āĨ¤

āĻ°āĻŋāĻŦā§‡āĻ¸

  • āĻāĻ•ā§‡āĻ° āĻĒāĻ° āĻāĻ• āĻŦā§‡āĻ¸ āĻļāĻžāĻ–āĻžāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻļāĻžāĻ–āĻž āĻĨā§‡āĻ•ā§‡ āĻ°āĻŋāĻĒā§āĻ˛ā§‡ āĻ•āĻŽāĻŋāĻŸāĨ¤
    • āĻ¨āĻ¤ā§āĻ¨ SHA āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡ GitHub-āĻāĻ° āĻ•āĻŽāĻŋāĻŸāĻ—ā§āĻ˛āĻŋ āĻŽā§‚āĻ˛ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨āĻ¯āĻŧāĨ¤
    • āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻŦāĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  • āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  • āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§ˆāĻ–āĻŋāĻ• āĻ—āĻ˛ā§āĻĒ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤
    • āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒāĻĄāĻŧāĻž āĻ¸āĻšāĻœ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤ āĻ•āĻžāĻ°āĻŖā§‡ āĻ–ā§āĻŦ āĻĻā§€āĻ°ā§āĻ˜ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
    • āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ•āĻŸā§ āĻ¸āĻšāĻœ: āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡ git bisect, āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ°ā§‹āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  • āĻāĻ•āĻŸāĻŋ āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸āĻš āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻŽāĻŋāĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ --force āĻ¯āĻ–āĻ¨ āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻĻāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¯āĻ–āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āĻ‡ āĻ•ā§ŒāĻļāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻŽā§āĻŽāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ "āĻŦāĻŋāĻļā§āĻĻā§āĻ§" āĻŽāĻžāĻ°ā§āĻœ āĻŦāĻž āĻ‰āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ "āĻŦāĻŋāĻļā§āĻĻā§āĻ§" āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ, āĻŦāĻž āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§, āĻ¯ā§‡āĻŽāĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­āĻ­āĻžāĻŦā§‡ āĻļā§€āĻ°ā§āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ•āĻ°āĻž(git rebase -i) āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ "āĻĒāĻžāĻŦāĻ˛āĻŋāĻ•" āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§ˇ

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻŽāĻžāĻ°ā§āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

ī¸āĻŸāĻžāĻ¸ā§āĻ•

  1. āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ master āĻāĻ•āĻŸāĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  2. āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§āĻ¨ feature.
  3. āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨ master. āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—ā§€ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻœ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ ci.md.
  4. āĻŦāĻŋāĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° CI āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻŸ āĻĒāĻžāĻ ā§āĻ¯ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤
  5. āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻŽāĻŋāĻŸ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§āĻ¨ feature.
  6. GitHub UI āĻ āĻĒā§āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻŽāĻžāĻ°ā§āĻœ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•āĻŽāĻžāĻ¨ā§āĻĄ

# ĐŖĐąĐĩдиŅ‚ĐĩŅŅŒ, Ņ‡Ņ‚Đž ĐēОд в ĐģĐžĐēĐ°ĐģŅŒĐŊĐžĐĩ вĐĩŅ‚ĐēĐĩ `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 āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻŽāĻŋāĻŸ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ "sneaky bug" āĻ˛ā§‡āĻ–āĻžāĻŸāĻŋ āĻ†āĻ° āĻĨāĻžāĻ•ā§‡ āĻ¨āĻžāĨ¤

CI āĻ§āĻžāĻĒā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¨

āĻ†āĻŽāĻ°āĻž āĻļāĻžāĻ–āĻžāĻ° āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻŽāĻŋāĻŸ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ 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 āĻ¯ā§‡āĻŽāĻ¨ "āĻŦā§‡āĻ¸ āĻļāĻžāĻ–āĻž"āĨ¤
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨. āĻ†āĻĒāĻ¨āĻŋ PR āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻ¨ā§€āĻšā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ master āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ•āĻžāĻāĻŸāĻžāĻšāĻžāĻŽāĻš āĻāĻ•āĻŸāĻŋ "āĻŦā§‡āĻ¸ āĻļāĻžāĻ–āĻž" āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ•ā§‹āĻ°ā§āĻ¸ āĻ‰āĻĒāĻ•āĻ°āĻŖ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻœāĻŦāĻžāĻŦ āĻĻā§‡āĻŦ āĻ¨āĻžāĨ¤

"āĻĢāĻŋāĻ•ā§āĻ¸āĻŋāĻ‚ āĻĢāĻŋāĻ•ā§āĻ¸āĻŋāĻ‚" āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ°ā§āĻ¨

āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ! āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ°ā§āĻ¨ā§ˇ master āĻŸāĻžāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĨā§‡āĻ•ā§‡āĨ¤

ī¸āĻŸāĻžāĻ¸ā§āĻ•

  1. "āĻŽāĻžāĻ°ā§āĻœ āĻŸāĻžāĻ¨ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ" āĻ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨āĨ¤
  2. "āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨" āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨āĨ¤
  3. "āĻļāĻžāĻ–āĻž āĻŽā§āĻ›ā§āĻ¨" āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ° āĻāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ā§ˇ

āĻāĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤.
āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ

āĻ…āĻ­āĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨!

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻ¨ā§‡āĻ¯āĻŧ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ā§ˇ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ¨ āĻŦāĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻœāĻžāĻ¨ā§‡āĻ¨, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ•ā§‹āĻ°ā§āĻ¸ āĻ‰āĻĒāĻ•āĻ°āĻŖ āĻ¸āĻš āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛. āĻāĻ‡ āĻ•ā§‹āĻ°ā§āĻ¸āĻŸāĻŋāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ GitHub āĻ˛āĻžāĻ°ā§āĻ¨āĻŋāĻ‚ āĻ˛ā§āĻ¯āĻžāĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨