GitHub Gist рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг

рдЫрд╡рд┐

рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛрдб рдХрд╛ рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣ рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╣ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╡рд╣ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░реЛрдВ рдореЗрдВ рдЕрдиреНрдпред

рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдП ред

рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк:

рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдПрдВ рдФрд░ рд╡рд╣рд╛рдВ рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦреЗрдВред рдлрд┐рд░ рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдмрдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рдкрдХреНрд╖:

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

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк:

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

рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк:

рдЧрд┐рдЯ рдЙрдкрдЯреНрд░реА рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ ред

(рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЧрд┐рдЯ рд╕рдмрдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ)

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

рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░:

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

рдЕрдм Git- рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╡рд░рдгред

1) рд╣рдо рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХреЛ https://gist.github.com рдкрд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рд╣рдо рддреБрд░рдВрдд "рдорд┐рдиреА" рд░рд┐рдкреАрдЯрд░реА рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

GitExtensions рдореЗрдВ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рднрдВрдбрд╛рд░ рдЦреЛрд▓реЗрдВ рдФрд░ рдЪреБрдиреЗрдВ:

[рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА] -> [рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА ...]

рдЫрд╡рд┐

рд╣рдо рдПрдХ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рддреЗ рд╣реИрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, [+] рджрдмрд╛рдПрдБред [рдирд╛рдо] , [рдпреВрдЖрд░рдПрд▓] рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ [рдкрд░рд┐рд╡рд░реНрддрди рд╕рд╣реЗрдЬреЗрдВ] рд╕рд╣реЗрдЬреЗрдВ :

$git remote add "Util1" "https://gist.github.com/cf056e792d3bd9c2fc5973b846efe3d3.git" 

рдЫрд╡рд┐

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред

рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╢рд╛рдЦрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд╣рд╛рдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Git-bash (ctrl + G) рдЦреЛрд▓реЗрдВ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 $git read-tree --prefix=Client/Assets/ -u Util1/master 

рдЬрд╣рд╛рдВ:

рдХреНрд▓рд╛рдЗрдВрдЯ / рдПрд╕реЗрдЯреНрд╕ / - рдЙрд╕ рдлреЛрд▓реНрдбрд░ рдХрд╛ рдкрде, рдЬрд┐рд╕ рдкрд░ рдлрд╛рдЗрд▓ рдХреЙрдкреА рдХреА рдЬрд╛рдПрдЧреА
Util1 / рдорд╛рд╕реНрдЯрд░ - рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╢рд╛рдЦрд╛ рдХрд╛ рдирд╛рдо
(рдореБрдЭреЗ рдпреВрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛)

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬрд┐рд╕реНрдЯ рд╢рд╛рдЦрд╛ рд╣рдорд╛рд░реЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рдФрд░ рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред

рдЕрдм рд╣рдо рдПрдХ рдирд┐рдпрдорд┐рдд рд╢рд╛рдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕реНрдЯ рдореЗрдВ рдмрджрд▓рддреА рд╣реИ, рддреЛ рд╣рдо рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рд╣рдо рд╕рднреА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦрддреЗ рд╣реИрдВ:

 $git fetch --progress "--all" 

рдлрд┐рд░ рд╣рдо рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд▓рдп рдХрд░рддреЗ рд╣реИрдВ:

 $git merge -s subtree --no-ff --allow-unrelated-histories Util1/master 

рдЫрд╡рд┐

рдЫрд╡рд┐

рдкрд░рд┐рдгрд╛рдо:

рдЫрд╡рд┐

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА:

https://git-scm.com/book/ru/v1/-Git--
https://www.atlassian.com/blog/git/alternatives-to-git-submodule-git-subtree
https://www.nwcadence.com/blog/git-subtrees

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


All Articles