GIT рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рддрдВрддреНрд░ (MySQL рдбрдВрдк рдкреНрд░рдмрдВрдзрди)

рд╣реИрд▓реЛ, рд╣рд╛рдмрд░рд╛ рдкреНрд░реЗрдорд┐рдпреЛрдВ! рдЖрдЬ рдореИрдВрдиреЗ MySql рд╕реЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдмреИрдХрдЕрдк рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдХрд┐ рдХреИрд╕реЗ рдЗрд╕реЗ Git рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╕ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕рд╣реА рдмреИрдХрдЕрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рдЗрд╕реЗ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдкрдврд╝реЗрдВ!


рдпрд╣ рдХреНрдпрд╛ рд╣реИ


рдпрд╣ BASH рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╢реЗрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмреИрдХрдЕрдк рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рддреИрдирд╛рддреА рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдЖрдк рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд┐рдЦрддреЗ рд╕рдордп рдбреЗрдЯрд╛рдмреЗрд╕ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдЧреАрддрд╛ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЙрдирдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


рдХрд┐рд╕рдХреЗ рд▓рд┐рдП?


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЧреНрд░рд╛рд╣рдХ рдХреА рдореЗрдЬрдмрд╛рдиреА рдкрд░ рд╕рд╛рдЗрдЯ рдХреЛ рддреБрд░рдВрдд рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкреНрд░рдЧрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред рдпрд╛ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдЗрд╕реЗ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдкреИрд╕рд╛ (рдпрд╛ рдЯреЙрдб рд╕реНрдЯреНрд░рдЧрд▓) рд╣реИред рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдмреИрдХрдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрд╛рдЬ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ рдпрджрд┐ рдЖрдк рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдФрд░ рдмрд╕ рд╡рд┐рдХрд╛рд╕ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдордп-рд╕рдордп рдкрд░ 500 рд╡рд╛рдВ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВред рдпрд╛ рдЖрдк рдПрдХ рдЯреАрдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрддреЗ рд╕рдордп рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред


рдореЗрдЬрдмрд╛рди рдкрдХреНрд╖ (рдорд╛рдирдХ рдорд╛рдорд▓реЛрдВ) рдкрд░ рдорд╛рдирдХ рд╕рд╛рдЗрдЯ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


  1. рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдШреВрдо рд░рд╣реА рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпрд╛ рддреЛ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╣реИ рдпрд╛ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╣реИред
  2. рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░, рдкрд░рдВрдкрд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред
  3. рдФрд░ рдЙрддреНрдкрд╛рджрди, рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЕрдВрддрд┐рдо рдЙрддреНрдкрд╛рдж рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ 1 рдЖрдЗрдЯрдо рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рдПрдХ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ред

рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ?


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


рд╣рдо рдПрдХ рд╢рд╛рдЦрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ (рдмреИрдХрдЕрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ) рдФрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ, рдХрд╛рдо рдХрд░реЗрдВ, рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдПрдХ рдХрдорд┐рдЯ рдмрдирд╛рдПрдВ (рдмреИрдХрдЕрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ) ...
рдорд╛рд╕реНрдЯрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ ...
рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд▓реМрдЯ рдЖрдП, рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛ рджрд┐рдпрд╛, рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдпрд╛рдиреА рдмреИрдХрдЕрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрдорд┐рдЯ рдХреЗ рджреМрд░рд╛рди рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ,
рдЪреЗрдХрдЖрдЙрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рддреЛ рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЙрдкрдпреБрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдХрд░, рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдпрд╛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рдЖрдк -h рдпрд╛ --help рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рд╛рд╕реНрддреНрд░реАрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдореИрдВ рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрддрд╛, рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк config.ini рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ config.ini рдЪреВрдВрдХрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб (рдЬрд┐рд╕ рдкрд░ mySql рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб (рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░) рджреЛрдиреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣реА рдлрд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рд╡рд╣реА рдХрдВрдкреНрдпреВрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред


рдбрдВрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ


  • рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдбрдВрдк рд╕реНрдЯреЛрд░реЗрдЬ рдкрде
  • рдПрдХ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рдЬреЛ рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐
    рдФрд░ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╢ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рд╛рдлрд╝ рдХрд░реЗрдВред
  • рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ
  • рдирд┐рд░реНрдпрд╛рдд рд╕реЗ рдмрд╛рд╣рд░ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА
  • рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ
  • рдХреБрдЫ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рд╣реЗрдЬрдирд╛
  • рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЬрд┐рдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЪрд╛рд╣рд┐рдП
    рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
  • рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдпрдо рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ CRON рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреИрдХрдЕрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛

рддрд╛рдХрд┐ рдбрдВрдк рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдФрд░ CMS MODX рдХреНрд░рд╛рдВрддрд┐ рдХреЗ рд▓рд┐рдП (рдЕрднреА рддрдХ рдХреЗрд╡рд▓ рдПрдХ) рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдХрд┐рд╕реА рднреА рд╕реАрдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкреНрд░рджрд╛рддрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВред


рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрджрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП


  ,       .git,   ,     git [git clone ](https://github.com/Setest/.git-db-watcher)          chmod +x install.sh;   ./install.sh   ,     ./install.sh -nh 

рдЕрдм рдЖрдкрдХреЛ config.ini рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:


 ;  [hooks] ; H_CHECK_DB_HASH_BEFORE_CHECKOUT=1 ;      checkout      ;           ;  git checkout -b new_branch_name H_CHECKOUT_FORCE=0 ;        H_CHECKOUT_EVERCOM=1 ;       H_CHECKOUT_CLEARCACHE=1 [common] ;       EXPORT_FILE="db.sql" ;           ;   ./export.sh [develop] ;  db_export.sh   CLI_DB_EXPORT="ssh host '/path/to/project/on/server/.git-db-watcher/db_export.sh'" CLI_DB_IMPORT="ssh host '/path/to/project/on/server/.git-db-watcher/db_import.sh'" ;   [server] PHP_PATH="/usr/local/bin/php" CONFIG_INC_PATH="/path/to/project/on/server/core/config/config.inc.php" PROVIDER=modx DB_TABLES_INCLUDE=site_content DB_TABLES_AUTOPREFIX=1 [server_full_site] PHP_PATH="/usr/local/bin/php" CONFIG_INC_PATH="/path/to/project/on/server/core/config/config.inc.php" ; '' -       DB_CONFIG_     ;  providers PROVIDER=modx ;          DB_CONFIG_HOST= DB_CONFIG_TYPE= DB_CONFIG_USER= DB_CONFIG_PASSWORD= DB_CONFIG_CONNECTION_CHARSET= DB_CONFIG_DBASE= DB_CONFIG_TABLE_PREFIX= DB_CONFIG_DATABASE_DSN= ;        ( ) ;     ; DB_TABLES_INCLUDE=manager_log register_messages user_attributes ; DB_TABLES_INCLUDE=site_content ;    ; DB_TABLES_EXCLUDE=session register_messages mse2_words ec_messages ; ,    ,    DB_TABLES_AUTOPREFIX=1 ;       INSERT DB_TABLES_REMOVE_INSERT="manager_log session register_messages" ; DB_TABLES_REMOVE_INSERT="manager_log" ;        ; DB_TABLES_DEFAULT=user_attributes users DB_TABLES_DEFAULT=user_attributes ;   ,     ;       ,     ;    DB_TABLES_DEFAULT_user_attributes=sessionid logincount lastlogin thislogin ; DB_TABLES_DEFAULT_users=session_stale ;  ,     [only_users] DB_TABLES_INCLUDE=user user_attributes EXPORT_FILE="users.sql" DB_TABLES_DEFAULT=user_attributes user DB_TABLES_DEFAULT_user_attributes=sessionid logincount lastlogin thislogin DB_TABLES_DEFAULT_users=session_stale 

рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ ./export.sh рдФрд░ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП
рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрдВрдк рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред


рдЕрдиреНрдп рдкреНрд░рд╢реНрди


рдореБрдЭреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреВрд╕рд░реА рдЬрдЧрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  ./db_export.sh --output 1>./xxx.sql 

рдореИрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдореЗрд░реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  ./db_export.sh -=only_users --output 1>./users.sql 

рдореИрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ GIT рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ?

  ./import.sh ./import.sh EXPORT_FILE=site_name.sql ./import.sh DB_BACKUP_FILE=/.../../site_name.sql ./import.sh --config=site DB_BACKUP_FILE=./site_name.sql 

рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЖрдпрд╛рдд рдХреИрд╕реЗ рдХрд░реЗрдВ?

  ./db_import.sh < db_backup/db.sql 

рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдореИрдВ рд╕реАрдПрдордПрд╕ xxx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╣рд░ рдмрд╛рд░ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рд╕реЗ рдердХ рдЬрд╛рддрд╛ рд╣реВрдВ
рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ?

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреА рдкреНрд░рджрд╛рддрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдореМрдЬреВрджрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред


рдореИрдВрдиреЗ php рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ CRON рдЬреЙрдм рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣
рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╛ CMS рд╕рд╛рдЗрдЯ рдХреИрд╢ рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ?

рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╕реНрд╡рдпрдВ рдХреА рдиреМрдХрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, CRON рдЬреЙрдмреНрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ php рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдорд╛рд░реНрдЧ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, php рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЗ CMS рдХреЗ рдЪрд▓рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред


рдЕрдВрддрднрд╛рд╖рдг


рдореИрдВрдиреЗ рдХрднреА BASH рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд▓рд┐рдЦреА рдФрд░ рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж nagovnokodil , рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рдХреНрд╖рдо рд▓реЛрдЧ рд╣реИрдВ, рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╕рдВрдкрд╛рджрди рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдиреЗ рд╡рд╛рд▓реА рд░реБрдЪрд┐ рдФрд░ рдХрд╛рдо рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реВрдВрдЧрд╛ред


рдФрд░ рддреБрд░рдВрдд рдпрд╣ рди рд╕реЛрдЪреЗрдВ рдХрд┐ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХреЗрдВ (рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдлрд┐рд░ рднреА BASH рдПрдХ рд▓рд┐рдирдХреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ)ред


рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдирд┐рд░реНрджреЗрд╢ README рдореЗрдВ рд╣реИрдВред рдореИрдВрдиреЗ рддреБрд░рдВрдд рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╢реМрдХрд┐рдпрд╛ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░рдг рднреА, рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рд░реВрд╕реА рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЕрдиреБрд╡рд╛рдж рдпрд╛ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рдВрдЯрд╛! рдФрд░ рдЕрдЧрд░ рдЕрдЪреНрдЫреА рд╕рд▓рд╛рд╣ рд╣реЛ - рддреЛ рд╢реЗрдпрд░ рдХрд░реЗрдВред


рдкреБрдирд╢реНрдЪ: рдпрджрд┐ рдЖрдк рдиреАрдЪреЗ рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рдмрди рдЧрдпрд╛ рд╣реИ :-)


рдлрд┐рд░ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬрд╛рдПрдВ!

Source: https://habr.com/ru/post/hi449868/


All Articles