
рдирдорд╕реНрдХрд╛рд░ред рдореЗрд░рд╛ рдирд╛рдо рд╕рд░реНрдЧреЗрдИ рд╣реИ, рдореИрдВ рдкрд┐рдЫрд▓реЗ рдкрд╛рдВрдЪ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рджреМрд░рд╛рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЧреНрдпрд╛рд░рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд╛рдпрдерди рдФрд░ C ++ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдХреЗрд▓реЗ рдХреБрдЫ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд┐рдП, рдЕрдиреНрдп рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрда рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдореВрд╣ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдПред рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдЯреАрдо рдореЗрдВ, рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдореИрдВрдиреЗ рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреА рдорджрдж рд╕реЗ, рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦрддрд╛ рд╣реВрдВред рдХрднреА-рдХрднреА, рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдХрд░, рдореИрдВ рдмрд╣рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: "рд▓реЗрдХрд┐рди рдХреНрдпрд╛, рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ?"ред рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдореЗрдВ, рдореИрдВ рджрд┐рд▓рдЪрд╕реНрдк рдЯреНрд░рд┐рдХреНрд╕ рдвреВрдВрдврддрд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реЗрд╡рд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реВрдВред рдореИрдВ рдЕрдкрдиреЗ рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдХрдИ рдирдП рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рдереА рдХрд┐ рд▓реЛрдЧ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрдм рдореИрдВ рдЕрдХреЗрд▓реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рджреВрд╕рд░реА рдЯреАрдо рдХреЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЕрдкрдиреА рдкреБрд▓-рдХреНрд╡реИрд╕реНрдЯ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред рдпрд╣ рд╕реБрдВрджрд░ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ред рдПрдХ рдмрд╛рд░ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рдЬрд╛ рдереАред рдореИрдВ рдПрдХ рд╣рдлреНрддреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддрд╛ рдерд╛, рдЕрдкрдиреА рд╕рд╛рд░реА рд╢рдХреНрддрд┐ рдЗрд╕рдореЗрдВ рд▓рдЧрд╛ рджреАред рдореИрдВрдиреЗ рд╕рдореАрдХреНрд╖рдХ рдХреЛ рддреАрди рдмрд╛рд░ рдкрд┐рдВрдЧ рдХрд┐рдпрд╛, рдФрд░ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рд╕реВрдЦрд╛ "рдУрдХреЗ" рдпрд╛, рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рджрд░реНрдЬрдиреЛрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХреА, рдЬреЛ рдпреЛрдЧреНрдпрддрд╛ рдкрд░ рдирд╣реАрдВ рдереАред
рдкрд╛рдБрдЪ рд╣рдЬрд╝рд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдкреВрд▓ рдореЗрд░реА рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рдЖрдПред рдореИрдВрдиреЗ рдШрдВрдЯреЛрдВ рдХреЛрдб рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реМ рдмрд╛рд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рд╛рдкрддрд╛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд░реНрдЬрдиреЛрдВ рдмреЗрдХрд╛рд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд▓рд┐рдЦреАрдВред рдЗрд╕ рд╕рдмрдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ред рдЕрдХреНрд╕рд░ рдореИрдВрдиреЗ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рд╕рдореАрдХреНрд╖рд╛ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рджрд░реНрдЬрдиреЛрдВ рдЕрдирд╛рд░рдХреНрд╖рд┐рдд рдкреВрд▓ рдЬрдорд╛ рдХрд┐рдПред
рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдЦреБрдж рдкрд░ рд▓рдЧрд╛ рд╣реИ, рддреЛ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред рдЖрдЬ рдореИрдВ рдЙрди рддрдХрдиреАрдХреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛ рдЬреЛ рдореИрдВ рд╣рд░ рджрд┐рди рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдХреЗ рджреИрдирд┐рдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
"рд╕рдореАрдХреНрд╖рд╛ рд╕реЗ рдкрд╣рд▓реЗред" рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрд╕
рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЦрд╛рдирд╛ рдмрдирд╛рдирд╛ рд╣реИред рдЖрдк рдПрдХ рдЯреАрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдЦрд╛рдирд╛ рдмрдирд╛рдирд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рд╢реЗрдл рднреА рд╕рд┐рдЦрд╛рдирд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдиреБрд╕реНрдЦрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкреНрд░рддрд┐рдмрджреНрдз
рдиреБрд╕реНрдЦрд╛ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ: рдЙрдиреНрд╣реЛрдВрдиреЗ рджреЛ рдЕрдВрдбреЗ рддреЛрдбрд╝ рджрд┐рдП - рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдпрд╛, рдПрдХ рдЧрд┐рд▓рд╛рд╕ рджреВрдз рдЬреЛрдбрд╝рд╛ - рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдпрд╛, рджреЛ рд╕реМ рдЧреНрд░рд╛рдо рдЖрдЯрд╛ рдбрд╛рд▓рд╛ - рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ред
рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ, рдореИрдВ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдПрдХ рдореЙрдбрд▓ рд╡рд┐рдзрд┐ рдпрд╛ рдШрдЯрдХреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╕рдореАрдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдЗрд╕реЗ рдкреВрд░реЗ рдХрд╛рд░реНрдп рдкрд░ рджреЛрд╖ рдирд╣реАрдВ рджреЗрддрд╛, рдЬрд┐рд╕реЗ рдПрдХ рд╕рдордп рдореЗрдВ рдирд┐рдЧрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред
рдореИрдВ рдЕрд▓рдЧ рдХрдорд┐рдЯрдореЗрдВрдЯ рдореЗрдВ рдХреЛрдИ рднреА рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реВрдВред рдЕрдХреНрд╕рд░, refactoring рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ред рд╕рдореАрдХреНрд╖рдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рдХреА рд╣рд░ рдкрдВрдХреНрддрд┐ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рдЕрдкрдиреА рдЖрдБрдЦреЗрдВ "рддрд┐рд░рдЫреЗ" рдЪрд▓рд╛рдПрдЧрд╛ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдХрд░ рд╕рдХреЗрдЧрд╛ред
рдЯреБрдХрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдХрд░рдирд╛, рд▓реВрдЯрдирд╛, рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЫреЛрдЯреЗ рдХрдорд┐рдЯ рдореЗрдВ рдХрд╛рдЯреЗрдВред рдЗрд╕рд╕реЗ рд╕рдореАрдХреНрд╖рдХ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗред рдпрджрд┐ рдЖрдк рдЕрдкрдШрдЯрди рдХреЗ рд╕рд╛рде рдУрд╡рд░рдмреЛрд░реНрдб рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реИред рджреЛ рдХрдорд┐рдЯ рдПрдХ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдПрдХ рдмрдбрд╝реА рдкреНрд░рддрд┐рдмрджреНрдз рдХреЛ рдХрдИ рдЫреЛрдЯреЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред "рдХрдЯрд╛ рд╣реБрдЖ рд╕рдмреНрдЬрд┐рдпрд╛рдВ" рдЖрд╕рд╛рдиреА рд╕реЗ "рдХрдЯрд╛ рд╣реБрдЖ рдЯрдорд╛рдЯрд░" рдФрд░ "рдХрдЯрд╛ рд╣реБрдЖ рдкреНрдпрд╛рдЬ" рдорд┐рд▓рд╛рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╕рд▓рд╛рдж рдкреНрд▓реЗрдЯ рд╕реЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рддреБрд░рдВрдд рдЧреАрдереВрдм рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрддрд╛ рд╣реВрдВред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдХрдИ рдмрд╛рд░ рдорджрдж рдХреА рдЬрдм рдПрдХ рд▓реИрдкрдЯреЙрдк рдХреЗ рд╕рд╛рде "рдХреЙрдлреА рдХреА рдкрд░реЗрд╢рд╛рдиреА" рдереАред
рдХрдорд┐рдЯреНрд╕ рдХрд╛ рд╡рд┐рд╡рд░рдг
рдЬрдм рдореИрдВ рдПрдХ рдИрдореЗрд▓ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдкрддреНрд░ рдХреЗ рд╣реЗрдбрд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рднрд░ рджреЗрддрд╛ рд╣реВрдВред рд╢реАрд░реНрд╖рдХ рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рдХреИрдкреЗрд╕рд┐рдЯрд┐рд╡ рдирд╛рдо рд╣реИ, рдЕрдХреНрд╖рд░ рдХрд╛ рд╢рд░реАрд░ рдЪрд┐рддреНрд░реЛрдВ рдФрд░ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╕реНрддреГрдд, рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╣реИред рдореИрдВ рдХрдорд┐рдЯреНрд╕ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВред
git commit -m 'fix1'
. git commit
, . ( ). ( ).
, " " " ". , . . ASCII- . , , .

( ASCII-)

( . vim)

( GitHub. )
, , . :
git status
git diff comments.js
git add comments.js
, . git add .
, . , .
. , . JavaScript ESlint. R2-D2 " ", . , , .
WebStorm " ". , , . husky.
. . .

( )
тАУ , тАУ . , . git log --pretty='%h: %B' --first-parent --no-merges --reverse
.

( `git log --pretty='%h: %B' --first-parent --no-merges --reverse`)

( , )
, . , . .
! , .
┬л ┬╗.
тАУ , .
, . , , . , . , " ".
. . .
тАУ
. ! . , . , , . , .
. , . .
. :
function sum(arr) {
return arr.reduce(function (res, i) {
return res + i;
}, 0);
}
sum([1, 2, 3]); // 6
, :
const sum = arr => arr.reduce((res, i) => res + i);
, . , , . , . тАУ .
Offline
, . , . .
offline-. (, : , ), .
. -, . -, : ( ). -, , тАФ .
, . offline- .
┬л ┬╗.
, . . .
, . , , , . , : ? ? ? , .
. , .

( : )
. , . ? ' , .
-. . , . , , .
git rebase --interactive master
. , FEATURE-1
, master
тАФ . , , pick
squash
. .

( , )
--force
. , . git push origin FEATURE-1 --force
, . , .
GitHub. "Squash and merge".

( GitHub)
, . FEATURE-1
. :
git checkout master
git pull origin master
git branch -D FEATURE-1

( .)
, , :
#
git checkout -b FEATURE-1
#
git status
git diff src/controllers/v1/comments.js
git add src/controllers/v1/comments.js
#
git commit
git push origin FEATURE-1
#
git log --pretty='%h: %B' --first-parent --no-merges --reverse
#
git rebase --interactive master
git push origin FEATURE-1 --force
#
git checkout master
git pull origin master
git branch -D FEATURE-1
, , ?:
# ,
git add comment.js
#
git commit --amend
, . тАФ . тАФ git rebase --interactive master
, pick
squash
.

, git rebase --interactive master
pick
edit
, .
, , , , .
?, . , . . git add --patch test/comment-test.js

, . , . ?git rebase --interactive master
. . . , pick
, pick
squash
.
?. , .
