Git рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╣реИред Git рдореЗрдВ, рдПрдХ рдпрд╛ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрд░рдорд╛рдгреБ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдПрдХ рдХрдорд┐рдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрдИ рд▓рдЧрд╛рддрд╛рд░ рд╣рд┐рдЯреНрд╕ рдХреЛ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ (рд╕реБрд╡рд┐рдзрд╛рдУрдВ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рдПрдХ рдореГрдд рдЕрдВрдд рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕реЗ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕реЗ рдирдИ рд╢рд╛рдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЦреНрдп рджреЗрд╡ рдпрд╛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "рд╕реНрдХреЛрди" рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рдЯрдХрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рднреА рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдП? рдпрд╣ рд╢рд╛рдЦрд╛ рд╡реНрдпрд░реНрде рдореЗрдВ рднрд▓реЗ рд╣реА рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдмреЙрд╕ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЕрд╕рдлрд▓ рдкрд░рд┐рдгрд╛рдо рднреА рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╣реИ!
рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЬреАрдЖрдИрдЯреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдРрд╕реА "рдмреЗрдШрд░" рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдХрдорд╛рдВрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 2.21.0 рд╣реИ ред
рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдпрд╣ рдХреНрдпрд╛ рд▓рд╛рдн рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдИрдЯреА рдХрдВрдкрдирд┐рдпрд╛рдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреА рд╣реИрдВ? рд▓реЗрдЦ рдЗрди рдФрд░ рдЕрдиреНрдп рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред
рд╡рд┐рд╡рд░рдг
рдЕрдм рдкрд┐рдЫрд▓реЗ рдХрдорд┐рдЯреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдПрдХ рдЕрд╕рдлрд▓ рд╢рд╛рдЦрд╛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдиреАрдЪреЗ рдХреА рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рдХреНрд▓реЛрдЬрд░ рдЖрд░реНрдХреНрд╕ рдкреАрд▓реЗ рд░рдВрдЧ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЕрд╕рдлрд▓ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз 4
рдЕрдВрддрд┐рдо рд╣реИред рдЗрд╕реЗ рдХрдорд┐рдЯ 1
рдКрдкрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рд╣рдо рдорд╛рд╕реНрдЯрд░ рдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ (рдХрдорд┐рдЯ 5
) рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред
рдЖрдк рдЦреБрдж рд╕реЗ рднреА рдХрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓реВрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ :
рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдмрджреНрдз рдкрд░ рд╢рд╛рдЦрд╛ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЧрд┐рдЯ рд╕реНрдорд╛рд░реНрдЯ рд╣реИ, рдпрд╣ рдорддрднреЗрджреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡рд┐рд▓рдп рдХрд░рддрд╛ рд╣реИ:
рдХреИрд╕реЗ рдХрд░реЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓?
merge
рдХрдорд╛рдВрдб рдореЗрдВ рдХреНрд▓реЛрдЬрд╝рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╢рд╛рдЦрд╛ рдХреЛ рддреЗрдЬреА рд╕реЗ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ , рдФрд░ рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ( git already up to date
)ред
рдкреБрд░рд╛рдиреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрдХ рдХреНрд▓реЛрдЬрд░ рдХрдорд╛рдВрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:
git closure -s $source_commit -d $dest_commit -m $message
рдкрд╣рд▓рд╛ рддрд░реНрдХ -s $source_commit
рдЙрд╕ рдХрдорд┐рдЯ рдХрд╛ рд╣реИрд╢ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рд▓реВрдк рдХреЛ рдлреИрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░рд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ) -d $dest_commit
рдЙрд╕ рдХрдорд┐рдЯ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓реВрдк рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рддреЛ рдХреНрд▓реЛрдЬрд░ рд╡рд░реНрддрдорд╛рди рдЪреЗрдХ-рдЖрдЙрдЯ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред -m $message
рддрд░реНрдХ рдПрдХ рдмрдВрдж рд╕рдВрджреЗрд╢ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ failed feature, revert to origin
ред рд╣рд╛рд▓рд╛рдБрдХрд┐, --allow-empty-message
рд╡рд┐рдХрд▓реНрдк рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЖрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Git рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, --allow-multiple-closures
рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИред

рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, Git рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ, рдПрдХ рдбрдмрд▓ рдЕрдВрддрд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдЖрдзрд╛рд░ рдФрд░ рд╕рдорд╛рдкрди рд╢рд╛рдЦрд╛рдУрдВ рд╕реЗред рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдПрди-рдбрд╛рдпрдореЗрдВрд╢рдирд▓ рдЕрдВрддрд░ рд╣реИ, рдпрд╛рдиреА рдЖрдк рдЬрд┐рддрдиреА рдЪрд╛рд╣реЗрдВ рдЙрддрдиреА рдмрдВрджрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдХреНрд▓реЛрдЬрд░-рдХрдорд┐рдЯ рдПрдХ рд╣реА рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рдорд░реНрдЬ-рдХрдо рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдХрдИ рд╕рдВрджреЗрд╢ рд╣реЛрддреЗ рд╣реИрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореМрдЬреВрджрд╛ рдЧрд┐рдЯ GUI рдореЗрдВ рдХреНрд▓реЛрдЬрд░ рдХрд╛ рдЕрдЪреНрдЫрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред GitExtension рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рдВрд╕реНрдХрд░рдг рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЖрд░реНрдХ рдХреЗ рдмрдЬрд╛рдп рдорд░реНрдЬ рдШрдЯрддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдирдП рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдЬреИрд╕реЗ рдХрд┐ Closure message
рдФрд░ Closure diff
ред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ closure
рдХрдорд╛рдВрдб рд╣рдореЗрд╢рд╛ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рдЧрд┐рдЯ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рд╕рдордп рдорд╢реАрди рд╣реИ!), рдЗрд╕рд▓рд┐рдП рдЕрдм рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ --force
рд╡рд┐рдХрд▓реНрдк, рдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд - --force-with-lease
рдзрдХреНрдХрд╛ рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реИ --force-with-lease
рд╡рд┐рдХрд▓реНрдкред
рд░рд┐рдмреЗрд╕ рд▓реВрдк рд╡рд╛рд▓реА рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдЬрдЯрд┐рд▓ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ auto
рд╡рд┐рдХрд▓реНрдк рд╕рднреА рдкреБрд░рд╛рдиреА рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд╕реНрд╡рдд: рдмрдВрдж рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдорд╛рдкрди рдкреНрд░рддрд┐рдмрджреНрдз рд╡рд╣ рд╣реИ рдЬреЛ рд╢рд╛рдЦрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдЬреАрдЖрдИрдЯреА рдЖрдИрдбреАрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде, рд╕рдордп-рд╕рдордп рдкрд░ рдХреНрд▓реЛрдЬрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред GitExtensions рдореЗрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рдорд╛рди рдкреНрд▓рдЧрдЗрди рд╣реИред
рдЖрдИрдЯреА рдХрдВрдкрдирд┐рдпрд╛рдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреА рд╣реИрдВ
рдмрдбрд╝реА рдЖрдИрдЯреА рдХрдВрдкрдирд┐рдпрд╛рдВ: Google, Facebook, Apple, DeepMind, Positive Technologies рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Microsoft, рдХреЛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдЕрдирд░рдЬрд┐рд╕реНрдЯрд░реНрдб рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдорд╛рдЗрдХрд▓ рд░рд┐рдХреНрдЯрд░ рдиреЗ рд▓рд┐рдЦрд╛ :
рдЬреАрдЖрдИрдЯреА рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рд╡рд┐рдХрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрд░рд╛рдЬрдХрддрд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧреА (рдФрд░ рди рдХреЗрд╡рд▓)ред рд╣рдорд╛рд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА "рд╣реИрдВрдЧрд┐рдВрдЧ" рд╢рд╛рдЦрд╛рдПрдБ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, vscode рдореЗрдВ рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ 200 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ 300 рд╕реЗ рдЕрдзрд┐рдХ! рдФрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реА рдирд╣реАрдВ рд╣реИред рдХреНрд▓реЛрдЬрд░ рди рдХреЗрд╡рд▓ рд╕рдВрдЧрдарди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рддрд░реНрдХ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ :) рдХреНрд▓реЛрдЬрд░ рдиреЗ рдореБрдЭреЗ рдлрд┐рд▓реНрдо "рдмреИрдХ рдЯреВ рдж рдлреНрдпреВрдЪрд░" рдХреА рдпрд╛рдж рджрд┐рд▓рд╛ рджреА, рдЬрд╣рд╛рдВ рдкрд╛рддреНрд░реЛрдВ рдиреЗ рдЕрддреАрдд рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдпрд╛рддреНрд░рд╛ рдХреАред рдореБрдЭреЗ рдпрд╣ рдлрд┐рд▓реНрдо рдкрд╕рдВрдж рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рджреЗрдЦрд╛ред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ Git рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ :)
рдЯрд┐рдкреНрдкрдгреА
рдпрджрд┐ рдкрд╣рд▓реЗ рдХрдорд┐рдЯреНрд╕ рдХрд╛ рдЧреНрд░рд╛рдл рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдПрд╕рд╛рдЗрдХреНрд▓рд┐рдХ рдЧреНрд░рд╛рдл (рдбреАрдПрдЬреА) рдерд╛, рддреЛ рдХреНрд▓реЛрдЬрд░ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧреНрд░рд╛рдл рддрдХ рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред рдЧрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд░рд╛рдЬреНрдп рдХрдорд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕реЗрдЯ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдм "рдЕрд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдп рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреЛ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЧрд┐рдЯ рдХреЗ рдЕрдВрджрд░ рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдкреЗрдбрд╝реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рд▓реЗрдЦ рдХреЛ рджреЗрдЦреЗрдВ ред