āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻāĻŋāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻļāĻŋāĻā§āĻā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ (CI) āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻāĻžāĻ āĻāĻ°ā§? āĻ āĻĨāĻŦāĻž āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĻā§āĻ¨āĻ¨ā§āĻĻāĻŋāĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻā§āĻ°āĻŽ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨? āĻāĻ āĻā§āĻ°ā§āĻ¸āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ GitHub āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻā§āĻāĻ°āĻŖā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻĻāĻā§āĻˇāĻ¤āĻž āĻĻā§āĻŦā§āĨ¤ āĻāĻ āĻā§āĻ°ā§āĻ¸āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻāĻžāĻ°ā§āĻĄ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻ¨āĻ¯āĻŧ āĻ¯ā§āĻāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻ˛ āĻā§āĻ˛āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨; āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŦā§āĻ¨ āĻ¯āĻž āĻ˛ā§āĻā§āĻ°āĻž āĻāĻ¸āĻ˛ā§ āĻāĻ°ā§āĻŽāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ°ā§, āĻ¤āĻžāĻ°āĻž āĻ¯ā§āĻāĻžāĻŦā§ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻĄāĻŧāĻŋāĻ¤ āĻĒāĻĻāĻā§āĻˇā§āĻĒā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻāĻŽāĻŋ āĻ¤āĻ¤ā§āĻ¤ā§āĻŦāĻāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻŦāĨ¤
āĻāĻŽāĻ°āĻž āĻāĻŋ āĻāĻ°āĻŋ?
āĻāĻŽāĻ°āĻž āĻ¯āĻāĻ¨ āĻ āĻā§āĻ°āĻāĻ¤āĻŋ āĻāĻ°āĻŦ, āĻāĻŽāĻ°āĻž āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ CI āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ, āĻ¯āĻž āĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻāĻŋ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻžāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ¯ āĻāĻĨāĻžāĻ¯āĻŧ, āĻāĻŽāĻ°āĻž āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻ¯ā§ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° CI āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻā§ āĻāĻ¸āĻ˛āĻāĻŋāĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻāĻ¨āĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
āĻāĻ GIF āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻŋāĻ¤āĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻŽāĻŋāĻāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ°ā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ āĻā§āĻ°āĻ¸āĻ° āĻšāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻāĻžāĻ¨ā§ āĻāĻāĻŋāĻ˛ āĻāĻŋāĻā§ āĻ¨ā§āĻ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ CI āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§āĻ¨:
- āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻžāĻ;
- āĻā§āĻŖāĻŽāĻžāĻ¨ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻ;
- āĻ āĻā§āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻāĻžāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨;
- āĻļāĻžāĻāĻž āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦā§āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ (āĻ¸āĻāĻāĻžāĻ¤ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž);
- āĻāĻāĻāĻŋ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻā§ā§ˇ
āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻļāĻŋāĻāĻŦā§āĻ¨?
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§:
- āĻāĻāĻāĻžāĻ¨āĻž āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ (CI) āĻāĻŋ?
- āĻ¸āĻŋāĻāĻ-āĻ¤ā§ āĻā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻ¨ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ?
- āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ?
- āĻā§āĻ¸ā§āĻ āĻĄā§āĻ°āĻžāĻāĻā§āĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ (āĻāĻŋāĻĄāĻŋāĻĄāĻŋ) āĻā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻ¸āĻŋāĻāĻ-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤?
- āĻāĻŽāĻŋ āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻŦ āĻŦāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŦ?
- āĻ°ā§āĻ˛ āĻŦā§āĻ¯āĻžāĻ āĻŦāĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ āĻŋāĻ āĻāĻ°āĻŦā§āĻ¨?
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻŋ āĻ¸āĻŦ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ "āĻĒā§āĻ˛ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ" āĻāĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻāĻŽāĻŋ āĻĒāĻžāĻ ā§āĻ¯ā§āĻ° āĻĒāĻžāĻāĻ˛āĻžāĻŽāĻŋ āĻāĻŽāĻžāĻ¤ā§ āĻāĻŋāĻā§ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻāĻāĻ°ā§āĻāĻŋāĻ¤ā§ āĻŦāĻžāĻā§āĻ¯āĻžāĻāĻļ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻŽāĻŋ āĻŽāĻžāĻā§ āĻŽāĻžāĻā§ "āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ° āĻ¸ā§āĻ°āĻāĻŋāĻ" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ āĻ¯ā§āĻŽāĻ¨ āĻŦāĻŋāĻ¸ā§āĻŽāĻ¯āĻŧāĻāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž "āĻāĻŽāĻŋāĻ" āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ˛ā§āĻā§āĻ°āĻž āĻāĻ¸āĻ˛ā§ āĻāĻāĻŋ āĻāĻžāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻā§āĻāĻ°āĻŖ āĻāĻŋ?
āĻāĻāĻāĻžāĻ¨āĻž āĻ¸āĻŽāĻžāĻāĻ˛āĻžāĻ¨, āĻŦāĻž CI, āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĻāĻ˛ā§āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻĄāĻā§ āĻĻāĻŋāĻ¨ā§ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻā§āĻā§āĻ¤ āĻāĻ°ā§, āĻāĻŦāĻ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻā§āĻĄāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻāĨ¤
āĻāĻ āĻļāĻŦā§āĻĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻŽāĻ¤āĻā§āĻĻ āĻ°āĻ¯āĻŧā§āĻā§
āĻŦāĻŋāĻ°ā§āĻ§ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻāĻā§āĻāĻ°āĻŖā§āĻ° āĻĢā§āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸āĻŋāĨ¤ āĻā§āĻ āĻā§āĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻĻā§āĻ¨ āĻ¯ā§ āĻĻāĻŋāĻ¨ā§ āĻāĻāĻŦāĻžāĻ° āĻā§āĻĄ āĻŽāĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻāĻ¸āĻ˛ā§ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻ¸āĻāĻšāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻāĻŋ āĻĻāĻ˛ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§ āĻ¸āĻāĻžāĻ˛ā§ āĻ¤āĻžāĻāĻž āĻā§āĻĄ āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻ¨ā§āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻāĻāĻŦāĻžāĻ° āĻāĻāĻŋ āĻ¸āĻāĻšāĻ¤ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¸āĻā§āĻāĻ¤ āĻāĻĒāĻ¤ā§āĻ¤āĻŋ, āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻĻāĻŋāĻ¨ā§ āĻāĻāĻŦāĻžāĻ°ā§āĻ° āĻ¸āĻāĻā§āĻāĻžāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¸āĻā§āĻāĻ¤āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻžāĻ°ā§āĻ° āĻĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤
āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĒāĻ¤ā§āĻ¤āĻŋ āĻšāĻ˛ āĻ¯ā§ C++ āĻāĻāĻ¨ āĻāĻ° āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻāĻžāĻˇāĻž āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ āĻŦā§āĻ§āĻāĻ°āĻŖā§āĻ° āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻŦāĻ˛ āĻ¤ā§āĻ°ā§āĻāĻŋ-āĻŽā§āĻā§āĻ¤ āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻĻā§āĻ°ā§āĻŦāĻ˛āĨ¤ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸ā§āĻ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻāĻāĻ¨āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž) āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻāĻ°āĻžāĻ° āĻĻāĻŋāĻā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻā§āĻā§, āĻāĻŦāĻ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ "āĻŦāĻŋāĻ˛ā§āĻĄ + āĻāĻāĻ¨āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž" āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ āĻā§āĻ¯āĻžāĻ¸ āĻšāĻ¯āĻŧā§ āĻāĻ āĻŦā§, āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻž āĻĨāĻžāĻā§āĨ¤
āĻāĻāĻāĻžāĻ¨āĻž āĻ¸āĻŽāĻžāĻāĻ˛āĻžāĻ¨ āĻĨā§āĻā§ āĻĒā§āĻĨāĻ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ (āĻāĻ¨ā§āĻāĻŋāĻ¨āĻŋāĻāĻ¯āĻŧāĻžāĻ¸ āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ, āĻ¸āĻŋāĻĄāĻŋ) āĻ¯āĻžāĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻ¸āĻžāĻāĻā§āĻ˛ā§āĻ° āĻĒāĻ°ā§ āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
āĻāĻŽāĻ°āĻž āĻĒā§āĻ°ā§ āĻā§āĻ°ā§āĻ¸ āĻā§āĻĄāĻŧā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ āĻĒāĻĻāĻā§āĻˇā§āĻĒā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž
- āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻā§āĻĄ āĻāĻžāĻ¨ā§āĻ¨. āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻļāĻžāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
master
. āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°. - āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻĒāĻžāĻ¸? āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§ āĻ¯āĻžāĻ. āĻŦā§āĻ¯āĻ°ā§āĻĨ? āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻŦāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
- āĻāĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻŽā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻŦāĻž āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ§āĻžāĻā§āĻāĻž āĻĻāĻŋāĻ¨āĨ¤
- āĻāĻāĻāĻŋ āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨. āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨, āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ˛āĻ¤ā§ āĻĨāĻžāĻāĻ˛ā§ āĻāĻ°āĻ āĻāĻŽāĻŋāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ā§ˇ āĻĢāĻŋāĻāĻžāĻ° āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨āĨ¤
- āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻĨā§āĻā§ āĻŽāĻžāĻ°ā§āĻ/āĻ°āĻŋāĻŦā§āĻ¸ āĻāĻŽāĻŋāĻāĨ¤ āĻŽāĻžāĻ°ā§āĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨āĨ¤
- āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻļāĻžāĻāĻž āĻĨā§āĻā§ āĻā§āĻĒāĻžāĻĻāĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
- āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĒāĻžāĻĻāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ˛ā§ āĻĨāĻžāĻāĻ˛ā§, āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻŽāĻžāĻ°ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
ī¸ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻ āĻŋāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻā§ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻāĻ āĻā§āĻ°ā§āĻ¸āĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§
āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻā§āĻ¨ āĻāĻŋāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻŦāĨ¤
āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻā§ āĻ¯āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¨āĻž āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°ā§āĻ¨
āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻāĻžāĻāĻāĻž)
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨? āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻāĻ°ā§ āĻĨāĻžāĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ°ā§āĻ¸ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻŦāĻ˛āĻž āĻšāĻŦā§ 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
, āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°
- āĻĨā§āĻā§ āĻā§āĻ°ā§āĻ¸ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻā§āĻ˛ā§āĻ¨
<URL ŅĐĩĐŋОСиŅĐžŅиŅ>
. - āĻāĻžāĻ˛āĻžāĻ¨
npm install
āĻā§āĻ°ā§āĻ¸ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§; āĻā§āĻ¸ā§āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°, āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤ - āĻāĻāĻāĻŋ āĻļāĻžāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨
feature
. āĻāĻ āĻĨā§āĻ°ā§āĻĄā§ āĻ¸ā§āĻāĻ āĻāĻ°ā§āĻ¨. -
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
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); });
- āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻĒā§āĻ°āĻĨāĻŽ 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/
.
āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¯ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻĻā§āĻā§āĻ¨āĨ¤
- āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨
npm test
āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ°ā§āĻ¸ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§āĨ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§āĻ¨āĨ¤ - āĻĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻāĻŽāĻŋāĻ āĻšā§āĻ (āĻĒā§āĻ°āĻŋ-āĻāĻŽāĻŋāĻ āĻšā§āĻ) āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨
install_hook.sh
. - āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻ°ā§āĻ¨ā§ˇ
- āĻāĻŽāĻŋāĻ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤āĨ¤
āĻāĻŽāĻžāĻ¨ā§āĻĄ
# ĐŖŅŅĐ°ĐŊОвиŅĐĩ 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 āĻ§āĻžāĻĒā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻ˛ā§āĻŽā§āĻ˛ā§āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
āĻāĻ āĻā§āĻ°ā§āĻ¸ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
ī¸ āĻāĻžāĻ¸ā§āĻ: āĻāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
- āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨
master
. - āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻļāĻžāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
bugfix
. - āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻˇā§ āĻ¨ā§āĻ āĻā§āĻā§āĻ¸āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
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/).
- āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĻ¨āĨ¤
- āĻĨā§āĻ°ā§āĻĄ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻ¨
bugfix
āĻāĻāĻāĻŋ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĨ¤ - āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻĒā§āĻ˛ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻāĻāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻļāĻžāĻāĻž āĻ¸āĻš
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 ĐēĐ°Đē ĐžĐŋиŅĐ°ĐŊĐž вŅŅĐĩ
"āĻāĻāĻāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°āĻž" āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻāĻ°ā§āĻ¨
ī¸āĻāĻžāĻ¸ā§āĻ
- āĻāĻāĻāĻŋ āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨.
- "āĻŽāĻžāĻ°ā§āĻ āĻāĻžāĻ¨ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ" āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- "āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨" āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- "āĻļāĻžāĻāĻž āĻŽā§āĻā§āĻ¨" āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ° āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
āĻāĻāĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§ āĻāĻŽāĻŋāĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ°āĨ¤
ī¸ āĻāĻžāĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
āĻāĻāĻāĻŋ āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻžāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛. āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻā§āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž āĻŦāĻž āĻāĻ˛ā§āĻāĻ¨āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ°ā§āĻ¸ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° CI āĻ§āĻžāĻĒā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¨āĻ¤ā§āĻ¨ āĻāĻāĻā§āĻŽ āĻ¯ā§āĻ āĻāĻ°ā§ āĻāĻāĻŋ āĻŽāĻĄā§āĻ˛ āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻāĻŋāĨ¤
āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻāĻžāĻ°ā§āĻ āĻāĻĄāĻŧāĻŋāĻ¤ āĻĨāĻžāĻā§āĨ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻāĻžāĻ°ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ "āĻ āĻŦāĻĻāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž" āĻāĻ° āĻŽāĻ¤ āĻāĻŋāĻā§ āĻŦāĻ˛āĻž āĻāĻāĻāĻŋ āĻ¨āĻĨāĻŋāĻ¤ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻ°āĻžāĻāĻŦ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻāĻ˛āĻŋāĻ¸ā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°āĻŦāĨ¤
āĻ
ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨āĻŽā§āĻ¨ā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨ pre-commit
āĻāĻā§ hook, āĻ¨āĻ¤ā§āĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻŦā§, āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§, āĻāĻŦāĻ āĻāĻŋāĻā§āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻ¨āĻŋ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻāĻ¸āĻ˛ā§ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻā§āĨ¤ āĻŽāĻāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻā§ āĻā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻāĻ¤ā§āĻ¤ā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻā§āĻĄāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĻā§, āĻ
āĻĨāĻŦāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻāĻ¸āĻ˛ā§ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻā§ āĻ¨āĻžāĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻ¨āĻž āĻ˛āĻŋāĻāĻ¤āĻžāĻŽ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻā§āĻ˛ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°āĻ¤āĻžāĻŽ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŋāĻā§āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¤ āĻ¨āĻžāĨ¤
āĻā§āĻ¸ā§āĻ āĻĄā§āĻ°āĻžāĻāĻā§āĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ (TDD)
TDD āĻā§āĻĄā§āĻ° āĻāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ˛ā§āĻāĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°ā§āĨ¤ āĻāĻŋāĻĄāĻŋāĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻĢā§āĻ˛ā§ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤
- āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨.
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻā§āĻĄ āĻ˛āĻŋāĻā§āĻ¨āĨ¤
- āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨, āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒāĻžāĻ¸āĨ¤
- āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄ āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻā§āĻāĻ°.
- āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻžāĻ°āĻŖ āĻ¯ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ˛āĻžāĻ˛ āĻ°āĻā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻŦā§āĻ āĻ°āĻā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻāĻā§āĻ°āĻāĻŋāĻā§ āĻ˛āĻžāĻ˛-āĻ¸āĻŦā§āĻ-āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻā§āĻāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§āĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤āĨ¤
ī¸āĻāĻžāĻ¸ā§āĻ
āĻĒā§āĻ°āĻĨāĻŽā§, āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¤ā§ āĻĻāĻŋāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° CI āĻ§āĻžāĻĒ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒāĻžāĻ ā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻŽāĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¯ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻšāĻā§āĻā§ ("āĻ¸āĻŦā§āĻ")āĨ¤
āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ°āĻŋāĻŽā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻĄāĻāĻŋ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ˛ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻŦāĻ āĻĒāĻŋāĻāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻāĻĒāĻĄā§āĻā§āĻ° āĻ¨ā§āĻā§ āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻ¨āĨ¤
- āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨
feature
. -
āĻāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
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); });
- āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ
pre-commit
āĻšā§āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŽāĻŋāĻ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§āĨ¤ - āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻā§āĻā§āĻ¸āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
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.
- āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĻ¨āĨ¤
- āĻļāĻžāĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨
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
) āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻļāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ "āĻĒāĻžāĻŦāĻ˛āĻŋāĻ" āĻļāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§ˇ
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻŽāĻžāĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
ī¸āĻāĻžāĻ¸ā§āĻ
- āĻā§āĻĄāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
master
āĻāĻāĻāĻŋ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ - āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨
feature
. - āĻāĻāĻāĻŋ āĻļāĻžāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨
master
. āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ°ā§āĻ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦci.md
. - āĻŦāĻŋāĻ°ā§āĻ§ā§āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° CI āĻĒāĻĻāĻā§āĻˇā§āĻĒā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻ āĻĒāĻžāĻ ā§āĻ¯ā§ āĻĨāĻžāĻā§āĨ¤
- āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŽāĻžāĻ°ā§āĻ āĻāĻŽāĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻ¨
feature
. - 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
.
ī¸ āĻāĻžāĻ¸ā§āĻ: āĻĒā§āĻ˛ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻāĻ°ā§āĻ¨ "āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž"
- āĻāĻāĻāĻŋ āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻā§āĻ˛ā§āĻ¨.
- "āĻŽāĻžāĻ°ā§āĻ āĻāĻžāĻ¨ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ" āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- "āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨" āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- "āĻļāĻžāĻāĻž āĻŽā§āĻā§āĻ¨" āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ° āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻā§ˇ
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛
āĻĒāĻŖā§āĻ¯ āĻ¤ā§āĻ°ā§āĻāĻŋ
āĻāĻāĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ "āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĻā§āĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĻā§āĻāĻžāĻ¤ā§ āĻāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧāĨ¤" āĻ¯āĻĻāĻŋāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¨āĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĻā§āĻāĻžāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻ āĻŦāĻžāĻ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻā§āĨ¤
āĻāĻ āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§:
- āĻāĻŋ āĻā§āĻĒāĻžāĻĻāĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ;
- āĻĨā§āĻ°ā§āĻĄā§ āĻā§āĻĄ
master
āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš, āĻ¯āĻž āĻĨā§āĻā§ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŽāĻŋ āĻāĻŋ āĻ°ā§āĻ˛ āĻŦā§āĻ¯āĻžāĻ āĻāĻ°āĻŦ āĻŦāĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻāĻŋ āĻ āĻŋāĻ āĻāĻ°āĻŦ?
āĻ°ā§āĻ˛āĻŋāĻ āĻŦā§āĻ¯āĻžāĻ āĻšāĻ˛ āĻĒā§āĻ°ā§āĻĄāĻžāĻāĻļāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻāĻžāĻ˛ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻāĻŽāĻŋāĻāĻā§āĻ˛āĻŋāĻā§ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤ "āĻĢāĻŋāĻā§āĻ¸āĻŋāĻ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ" āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĢāĻŋāĻā§āĻ¸ā§āĻ° āĻ¸āĻāĻ¯ā§āĻāĻ¨ master
āĻāĻŦāĻ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻŋāĻāĻ āĻāĻŦāĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸ā§āĻāĻŋāĻŽāĻžāĻā§āĻ˛āĻŋ āĻā§āĻĄ āĻĒā§āĻ°ā§āĻĄāĻžāĻāĻļāĻ¨ā§ āĻŽā§āĻ¤āĻžāĻ¯āĻŧā§āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻāĻžāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻāĻžāĻ°ā§āĻ āĻ¸āĻš, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻāĻŋ āĻ āĻŋāĻ āĻāĻ°āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻ°ā§āĻ˛ āĻŦā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ
āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻāĻ āĻŋāĻ¨ āĻāĻŦāĻ āĻā§āĻāĻāĻŋāĻĒā§āĻ°ā§āĻŖāĨ¤
āĻ¯ā§āĻšā§āĻ¤ā§ āĻ°ā§āĻ˛ āĻŦā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¨ā§ āĻā§āĻāĻāĻŋ āĻŦāĻšāĻ¨ āĻāĻ°ā§ āĻ¨āĻž, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻ āĻĒāĻĨā§ āĻ¯āĻžāĻŦ, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
- āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻĒāĻŖā§āĻ¯ā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ āĻŋāĻ āĻāĻ°ā§āĻ¨;
- āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
master
āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤
ī¸āĻāĻžāĻ¸ā§āĻ
- āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨
master
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ - āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
- āĻĒāĻŋāĻāĻ° āĻŽāĻžāĻ°ā§āĻ āĻāĻŽāĻŋāĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž в
master
. - āĻ°āĻŋāĻŽā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŽāĻžāĻ°ā§āĻ āĻāĻŽāĻŋāĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§āĻ° āĻāĻ¤āĻŋāĻšāĻžāĻ¸
āĻāĻŽāĻžāĻ¨ā§āĻĄ
# ĐĐĩŅĐĩĐēĐģŅŅиŅĐĩŅŅ ĐŊĐ° вĐĩŅĐēŅ 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
.
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻāĻŋāĻŽ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ¨ā§āĻĨāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻŦ āĻāĻŦāĻ āĻāĻ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĒā§āĻ˛ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦāĨ¤
ī¸āĻāĻžāĻ¸ā§āĻ
- āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
feature-fix
āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ āĻ¸ā§āĻāĻ āĻāĻ°ā§āĻ¨āĨ¤ -
āĻĒā§āĻ°āĻžāĻā§āĻ¤āĻ¨ āĻļāĻžāĻāĻž āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŽāĻŋāĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§āĻ¨
feature
āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĨā§āĻ°ā§āĻĄā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻāĻāĻāĻŋāĻ¤ āĻŽāĻžāĻ°ā§āĻ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦā§āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ -
āĻāĻāĻāĻŋ āĻ°āĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
ci.test.js
:it('does not contain the sneaky bug', () => { expect( /.*sneakys+bug.*/gi.test(fileContents)).toBe(false); });
- āĻ¤āĻžāĻ°āĻž āĻ¯āĻžāĻ¤ā§ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨āĨ¤
- "āĻāĻāĻāĻŋ āĻā§āĻĒāĻ¨ āĻŦāĻžāĻ āĻ¸āĻš" āĻĒāĻžāĻ ā§āĻ¯āĻāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§ˇ
ci.md
. - āĻ¸ā§āĻā§āĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ āĻ§āĻžāĻĒ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻŽāĻŋāĻ āĻāĻ°ā§āĻ¨ā§ˇ
- āĻāĻāĻāĻŋ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻļāĻžāĻāĻž āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻ¨.
āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŋāĻā§ āĻ¸āĻā§āĻā§ āĻļā§āĻˇ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤:
āĻāĻŽāĻžāĻ¨ā§āĻĄ
# ХОСдаКŅĐĩ вĐĩŅĐēŅ ĐŋОд ĐŊаСваĐŊиĐĩĐŧ 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
āĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĨā§āĻā§āĨ¤
ī¸āĻāĻžāĻ¸ā§āĻ
- "āĻŽāĻžāĻ°ā§āĻ āĻāĻžāĻ¨ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ" āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- "āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨" āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- "āĻļāĻžāĻāĻž āĻŽā§āĻā§āĻ¨" āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ° āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻā§ˇ
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤.
āĻ āĻāĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨!
āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻā§āĻāĻ°āĻŖā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ˛ā§āĻā§āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ°ā§āĻā§āĻ¨ā§ˇ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ°ā§āĻ¸ā§ āĻā§āĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨ āĻŦāĻž āĻāĻāĻŋāĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻžāĻ¨ā§āĻ¨, āĻ
āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻāĻ¤ā§āĻ¸: www.habr.com