
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЧреАрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛, рдореИрдВ рд╣рдореЗрд╢рд╛ git init
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдХреЗ рджреМрд░рд╛рди рдореИрдВ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдФрд░ 80 рдЯреАрдореЛрдВ рдХреЗ рдФрд╕рдд рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВред
рдЬрдм рдореИрдВрдиреЗ рджрд╕-рдКрдБрдЧрд▓реА рдЫрд╛рдкрдиреЗ рдХреА рд╡рд┐рдзрд┐ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдирд╕реЗрдВ рдЦрд░реНрдЪ рдХреАрдВред рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрдгрдп рдерд╛ред рдЕрдЧрд▓реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рдЧреАрддрд╛ рдХрд╛ рдЙрдиреНрдирдд рд╡рд┐рдХрд╛рд╕ рд╣реИред
рдЧреАрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд▓реЗрдЦ рд╣реИрдмрд░ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдкрд░реЗ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рд╕реНрд╡-рдирд┐рд░реНрдорд┐рдд рдмреИрд╕рд╛рдЦреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЧреАрдд рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдорд╛рдирдХреАрдХреГрдд рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдирд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рдХрд┐рд╕реЗ рд▓рд╛рдн рд╣реЛрдЧрд╛?
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рдЬреНрдЬрди рдХреЗ рдЧреАрддрд╛ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓реА рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдк рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ? 2 рддрд░реАрдХреЗ рд╣реИрдВ:
- рдорд╛рд╕реНрдЯрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрджреЗрд╢ - рдЙрдкрдирд╛рдоред рд╡реЗ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╕реНрдорд░рдХ рдФрд░ рдпрд╛рдж рд░рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдореВрд▓ рдЖрджреЗрд╢реЛрдВ рдХреЛ рднреВрд▓ рдЬрд╛рдирд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ, рдореИрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВред рд╕рд╛рде рд╣реА, рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рдЧреАрддрд╛ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдБрдЪрдиреЗ рд╕реЗ рдореИрдВ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реВрдБред
- рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЭрдВрдбреЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдирдХреЗ рдмреАрдЪ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдХрд╛рдЯрдиреЗ рд╕реЗ рдирдлрд░рдд рд╣реИред рдЖрдкрдХреЗ рд▓рд┐рдП, рднреА, рд▓реЗрдЦ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╛рдордЧреНрд░реА рд╣реИ - рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХреИрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдП, рд╕рд╛рде рд╣реА рд╕рдмрд╕реЗ рддреБрдЪреНрдЫ рдирд╣реАрдВ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдЕрднреНрдпрд╛рд╕ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЬ рдХреБрдЫ рдШрдВрдЯреЗ рд╕рдорд░реНрдкрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЫрд╣ рдорд╣реАрдиреЗ рдХреЗ рдХрд╛рдордХрд╛рдЬреА рдЬреАрд╡рди рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рдЧрдгрдирд╛ рд╕реЗ рдмрдЪрд╛рдПрдВред
рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!
рдЯреНрд░реЗрдирд┐рдВрдЧ
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ, Bash
рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ Zsh
, рдЬреЛ рдПрдХ рдЙрдиреНрдирдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╢реЗрд▓ рд╣реИ рдЬреЛ рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдФрд░ Zsh
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ, рдорд╛рдирдХ Oh My Zsh
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, Zsh
рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рдХрд┐рдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрд╕ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдВрдЧреЗ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░рд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ Zsh
рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИ , рдФрд░ рдореИрдХ рдХреЗ рд▓рд┐рдП , рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рднреАред
Zsh
рдФрд░ Oh My Zsh
рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдПрдХ рдЖрджреЗрд╢ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ Zsh
рдФрд░ Oh My Zsh
рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдЪреВрдВрдХрд┐ рдХрд╛рд░реНрдп рдЧреАрдд рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо Zsh
рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдЬреЛрдбрд╝ Zsh
ред ~/.zshrc
рдЦреЛрд▓реЗрдВ рдФрд░ рд╕реВрдЪреА рдореЗрдВ plugins
рдЬреЛрдбрд╝реЗрдВ:
plugins=(git gitfast)
рдХреБрд▓:
git
- рдЙрдкрдирд╛рдо рдФрд░ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ;gitfast
- рдЧреАрддрд╛ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдСрдЯреЛ-рдкреВрд░реНрдгред
tig
рд╕реЗрдЯрд┐рдВрдЧ
рдФрд░ рдЕрдВрддрд┐рдо рд╕реНрдкрд░реНрд╢ tig
рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╣реИ:
рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдЧреЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЬреБрдЯ рдЬрд╛рдПрдВ
рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдХреЗ рдЧреАрддрд╛ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдЙрдирдХреЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рджреИрдирд┐рдХ рдЕрднреНрдпрд╛рд╕ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрдВрдбрд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдкреАрд▓реЗ рдЦрдВрдб рдЦрдВрдб рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЙрдкрдирд╛рдо рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдЗрд╕реЗ рдЬрд╛рдиреЗрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрдВред
рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬрд╝ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
$ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: e.md Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: b.md Untracked files: (use "git add <file>..." to include in what will be committed) d.md
рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╣рд╛рди рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЧреАрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рджреИрдирд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рдЪрд▓реЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реЛрд░ рд╕реНрддрд░ рдХрдо рдХрд░рддреЗ рд╣реИрдВ:
$ git status -sb
рд╣рд╛рдБ, рд╣рдо master
рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣реИрдВ, b.md
( M-odified
) рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдпрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдХреЛ рдЧреАрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ ( A-dded
) рдореЗрдВ A-dded
, рдФрд░ рджреВрд╕рд░рд╛ рдЗрдВрдбреЗрдХреНрд╕ ( ??
) рдХреЛ рдЫреЛрдбрд╝ рдХрд░ред рдЫреЛрдЯрд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯред
рдпрд╣ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рдЕрдВрддрд╣реАрди рдЗрдирдкреБрдЯ рдХреЛ рдЙрд░реНрдл " g it tatus with b ranch" рджреНрд╡рд╛рд░рд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:
рдЫреЛрдЯреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдПрдВ
$ gsb
рдПрдХ рдХрдорд┐рдЯ рдмрдирд╛рдПрдБ
рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рдмреЗрд╢рдХ, рдЖрдк рдХрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдЗрдП рдЗрд╕ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЙрдкрдирд╛рдо " g d d a a ll" рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВ :
$ gaa
рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд░реНрдл " g it if d if ca ched" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
$ gdca # git diff --cached diff --git a/b.md b/b.md index 698d533..cf20072 100644 --- a/b.md +++ b/b.md @@ -1,3 +1,3 @@ # Beta -Next step. +Next step really hard. diff --git a/d.md b/d.md new file mode 100644 index 0000000..9e3752e --- /dev/null +++ b/d.md @@ -0,0 +1,3 @@ +# Delta + +Body of article.
рд╣рдореНрдо, рдПрдХ рдПрдХрд▓ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ рдЧрд┐рд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ, рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВред рдЖрдЗрдП рдЙрдкрдирд╛рдо рдХреЗ рд╕рд╛рде d.md
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрдкрдирд╛рдо " g r r eset u ndo" рд╕реЗ рдмрд╛рд╣рд░ рдХрд░реЗрдВ :
$ gru d.md # git reset
рдФрд░ рдЙрд░реНрдл " рдЬреА рдЗрдЯ рд╕реА рдУрдорд┐рдЯ" рдХреЗ рд╕рд╛рде рдПрдХ рдХрдорд┐рдЯ рдмрдирд╛рдПрдБ:
$ gc
рд╣рдо рдХрдорд┐рдЯ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрд╡ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рд╣рдо рдЙрдкрдирд╛рдо рдХреЗ d.md
рдлрд╝рд╛рдЗрд▓ d.md
рдФрд░ рдкрд░рд┐рдЪрд┐рдд рдХрдорд╛рдВрдб d.md
рд╣реИрдВ, d.md
рдЙрдкрдирд╛рдо " g it c ommit m e s sa g e" :
$ gaa
рдФрд░ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
... рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╛рдЗрд▓ рдХрд░реЗрдВ:
$ gcam "Add changes"
... рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╢рдмреНрджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦреЗрдВ (рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА):
$ gdw
... рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХреЗрд╡рд▓ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ):
$ gapa
... рдХреЗрд╡рд▓ рдЧреАрддрд╛ рдХреА рджреЗрдЦрд░реЗрдЦ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рдЬреЛрдбрд╝реЗрдВ:
$ gau
рдХреБрд▓:
рдЗрдВрдбреЗрдХреНрд╕ / рдХреНрд░рд┐рдПрдЯ рдХрдорд┐рдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
$ ga
рдареАрдХ рдХрд░рдирд╛
рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рдХрд╛ рдирд╛рдо рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЪрд▓реЛ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВ:
$ gc!
рдФрд░ рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣реЗрдВрдЧреЗ: "Add Delta article"
ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рдХрднреА рднреА -v
рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдорд┐рдЯ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдХрд┐рдП рдЧрдП рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмреЗрд╣рддрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдФрд░ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
... рдХрдорд┐рдЯ рдореЗрдВ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд╡рд░рдг рдХреЛ рди рдЫреБрдПрдВ:
$ gcn!
... рд╕рднреА рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрди рддреБрд░рдВрдд рдХрдорд┐рдЯ рдореЗрдВ рдХрд░реЗрдВ, рдкрд╣рд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛:
$ gca!
... рджреЛ рдкрд┐рдЫрд▓реЗ рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ:
$ gcan!
рдЦреИрд░, рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ git commit -v --amend
, рд╣рдо рддреАрди рдмрд╛рд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рдмрджрд▓реЗрдВ
$ gc!
рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдЖрд░рдВрдн рдХрд░рдирд╛
рд╡рд░реНрддрдорд╛рди рдЙрдкрдирд╛рдо рд╕реЗ рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдВ "рдЗрд╕реЗ рдЧ рд╣реЗрдХрдЖрдЙрдЯ рдмреА рд░реЗрдВрдЪ" :
$ gcb erlang
рдпрджреНрдпрдкрд┐ рдирд╣реАрдВ, рдПрд▓рд┐рдХреНрд╕рд┐рд░ рдЙрд░реНрдл " рдЬреА рдЗрдЯ рдмреА рд░рдВрдЪ рд╡рд┐рде рдж рдХреАрд╡ рдПрдо " (рдЧреАрддрд╛ рдореЗрдВ рдирд╛рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
$ gb -m elixir
рдЙрд░реНрдл gbmv
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдПрдХ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдкред
рд╣рдо рднрдВрдбрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ:
$ echo "# тАФ ." > e.md $ gaa && gcmsg "Add article about Elixir"
рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ:
рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдБ
$ gcb
рдорд░реНрдЬ рдореЗрдВ рдмрджрд▓рд╛рд╡
рдЕрдм рд╣рдо рдЕрдореГрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рдирдП рд▓реЗрдЦ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдирд╛рдо " g it c heckout m aster" :
$ gcm
рдирд╣реАрдВ, рд╕рдЪ рдореЗрдВред рддреАрди рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛рдж рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рддреНрд░реЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдбред рдЕрдм рдЙрд░реНрдл тАЛтАЛрдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдорд░реНрдЬ " рдЬреА рдЗ рдПрдо рдПрдЧреЗ" рд╣реИ :
$ gm elixir
рдЙрдлрд╝, рд▓реЗрдХрд┐рди рдХреЛрдИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА master
рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдФрд░ рд╕реБрдВрджрд░ рд░реИрдЦрд┐рдХ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдмрдЬрд╛рдп рдЬреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВрдиреЗ рдмрдирд╛рдпрд╛ рдирдлрд░рдд рдорд░реНрдЬ рдХрд░рдирд╛ред
рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВ
$ gm
рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рд╣рдЯрд╛рдПрдВ
рдЪрд┐рдВрддрд╛ рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ! рдЖрдкрдХреЛ рдмрд╕ рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП " g r r eset hh ard" :
рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рд╣рдЯрд╛рдПрдВ
$ grhh HEAD~
рд╣рдо рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВ
рдорд╛рдирдХ checkout тАУ rebase тАУ merge
рдПрдХ рд░реЗрдЦреАрдп рдкрд░рд┐рд╡рд░реНрддрди рдЗрддрд┐рд╣рд╛рд╕ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП checkout тАУ rebase тАУ merge
рдЕрдиреБрдХреНрд░рдо рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
gco elixir
рдЙрди рд╕рднреА рдХреЛ рдЕрдХреНрд╕рд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рд╕реЗ рджреВрд░ рдЙрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рдХрд┐рд╕ рд╕реЗрдЯ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╣реИред рдФрд░ рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ Zsh
рдЖрдк Tab
рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдкреВрд░рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рд░рд┐рдмреЗрд╕ рдХрд░реЗрдВ
$ grb
рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдмрдорд┐рдЯ рдХрд░рдирд╛
рдкрд╣рд▓реЗ рд╣рдо рдЙрд░реНрдл " g it r emote a dd" рдХреЗ origin
рдЬреЛрдбрд╝рддреЗ origin
:
$ gra origin git@github.com/...
рдФрд░ рдлрд┐рд░ рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╡рд░реНрддрдорд╛рди рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реАрдзреЗ рдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬрддреЗ рд╣реИрдВ ( "рдЬреАрдЬреА" - рдХрдорд╛рдВрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреЛрдЧреБрдирд╛ g
рд╡рд░реНрддрдорд╛рди рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ):
$ ggpush
рдЖрдк рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
... рд╕рд░реНрд╡рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ upstream
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде " g it p p us s et up stream" рдЙрдкрдирд╛рдо:
$ gpsup
рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ
$ gp
рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ
рдХрд╛рдо рдЬреЛрд░реЛрдВ рдкрд░ рд╣реИред рд╣рдо master
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд▓реЗрдЦ f.md
рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рд▓реЗрдЦ a.md
рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬ рджрд┐рдпрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
$ gup
рдлрд┐рд░ рдЖрдк рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдШрд░реНрд╖ рд╕реБрд▓рдЭрд╛ рд╣реБрдЖ рд╣реИред
рд╕рд░реНрд╡рд░ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
$ gl
рд╡рд┐рд▓реАрди рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ elixir
рд╢рд╛рдЦрд╛ рд╕рд╣рд┐рдд рдХрдИ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ master
рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ред рд╣рдореЗрдВ рдЕрдм рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЖрдк рдЙрд░реНрдл " g it b ranch d elete a nother" рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$ gbda
рдмрд╣реБрдд рд╕реБрдВрджрд░ рдФрд░ рдЪрд╛рд▓рд╛рдХ рдЯреАрдоред рдЖрдорддреМрд░ рдкрд░ рдореИрдВ рдЙрди рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдЦреЛ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реБрдВрджрд░ рдЯреАрдо рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЛрдХреНрд╖ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдХрдорд╛рдВрдб рдХреЗ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдиреЗ рдиреЛрдЯреНрд╕ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдкреНрд░рддрд┐рдмрджреНрдз рдмрдирд╛рдПрдБ
рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирдП h.md
рд▓реЗрдЦ рдкрд░ рдХрд╛рдо рдЬреЛрд░реЛрдВ рдкрд░ рд╣реИред рдЖрдзрд╛ рд▓рд┐рдЦрд┐рдд рдФрд░ рдЖрдкрдХреЛ рдПрдХ рд╕рд╣рдпреЛрдЧреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреЛ рдмрд╛рд░ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╣рдо рдЙрдкрдирд╛рдо " g it w ork i n p rogress" рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ :
$ gwip
рдФрд░ рдлрд┐рд░ рдПрдХ Work in Progress
рдХреЗ рдирд╛рдо рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, Work in Progress
рдХреЛ рд╕реАрдЖрдИ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдФрд░ "рдЕрддрд┐рд░рд┐рдХреНрдд" рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ред рд╣рдо рд╢рд╛рдЦрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЗрд╕ рд╕рд╣рдпреЛрдЧреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдлрд┐рд░ рдпрд╣ рд╡рдЪрди рдкреВрд░реНрд╡рд╡рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрдиреЗ рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯ рдЖрдИ рд╣реИрдВ:
$ gunwip
рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рдореЗрдВ WIP
рдХрдорд┐рдЯ рд╣реИрдВ, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
$ work_in_progress
рдЬрдм рдЖрдкрдХреЛ рдкрдбрд╝реЛрд╕реА рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ gwip
рдХрдорд╛рдВрдб gwip
рдХрд╛ рдХрд╛рдлреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдПрдирд╛рд▓реЙрдЧ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди Zsh
рдореЗрдВ рдЦреБрдж рдХреЛ stash
рд▓рд┐рдП рдХрдИ рдЙрдкрдирд╛рдо рд╣реИрдВред
рдЕрд╕реНрдерд╛рдпреА рдХрдореЗрдЯ / рдЕрд╕реНрдерд╛рдпреА рдХрдореЗрдЯ рдЬреЛрдбрд╝реЗрдВ
$ gwip $ gunwip
рдкрд░рд┐рд╡рд░реНрддрди рдЫрд┐рдкрд╛ рд░рд╣рд╛ рд╣реИ
рдЗрд╕ рдХрдорд╛рдВрдб рд╕реЗ рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рд▓рд╛рдкрд░рд╡рд╛рд╣ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдБ рдПрдХ reflog
рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЦреЛрдП рд╣реБрдП рдХрд╛рдо рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЪрд▓рд┐рдП рд╣рдо рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВ рдЬрд┐рди рдкрд░ рд╣рдо рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рд░рд╛рдЦ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ :
$ gsta
рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЙрд░реНрдл " g it st ash p op" рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рдПрдВ:
$ gstp
рдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд " рдЬреА рдпрд╣ рдПрдХ рдПрд╢ pply рд╣реЛрдЧрд╛" рд╡рд┐рдзрд┐ :
$ gstaa
рдЖрдк рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
... рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВ:
gsts
... рд╕рдВрдмрдВрдзрд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрддрд┐рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
gstc
рдкрд░рд┐рд╡рд░реНрддрди / рдкрд░рд┐рд╡рд░реНрддрди рдмрджрд▓реЗрдВ
$ gsta $ gstaa
рдмрдЧ рдХреА рддрд▓рд╛рд╢ рд╣реИ
git-bisect
рдЯреВрд▓, рдЬрд┐рд╕рдиреЗ рдмрд╛рд░-рдмрд╛рд░ рдореЗрд░реА рдЬрд╛рди рдмрдЪрд╛рдИ рд╣реИ, рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдирд╛рдо рднреА рд╣реИрдВред рд╣рдо "рдмрд╛рдЗрдирд░реА рдПрд░рд░ рд╕рд░реНрдЪ" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ " g it b s ect s tart" рдЙрдкрдирд╛рдо рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ :
$ gbss
рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, рд╢рд╛рдЦрд╛ рдореЗрдВ рдЕрдВрддрд┐рдо, рдХрдорд┐рдЯрдореЗрдВрдЯ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдирд╛рдо " g it b s ect2 ad" рд╣реИ ред
$ gbsb
рдЕрдм рд╣рдо рдЙрд╕ рдХрдорд┐рдЯ рдХреЛ рдЪрд┐рдиреНрд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ " g it b s ect ect ood"
$ gbsg HEAD~20
рдФрд░ рдЕрдм рдпрд╣ рдЧреАрддрд╛ рдХреЗ рд╢рдмреНрдж gbsb
рдпрд╛ gbsg
рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рдЬрд╛рд░реА gbsg
, рдФрд░ рдЕрдкрд░рд╛рдзреА рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ:
$ gbsr
рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрди рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдгреЛрдВ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред
рддреНрд░реБрдЯрд┐ рдЦреЛрдЬ
$ gbss
рд╣рдо рдЕрдзрд░реНрдо рдХреЗ рдЙрдХрд╕рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреЗ рдЙрдЪреНрдЪ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреГрдкрдпрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ a.md
рдлрд╛рдЗрд▓ рдХреА рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ a.md
рдЧрд▓рддреА рдХреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
$ gbl a.md -L 2
рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, Oh My Zsh
рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдиреЗ рди рдХреЗрд╡рд▓ git blame
рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрд░реНрдл тАЛтАЛрдмрдирд╛рдпрд╛, рдмрд▓реНрдХрд┐ рдЗрд╕рдореЗрдВ рдЪрд╛рдмрд┐рдпрд╛рдБ рдЬреЛрдбрд╝ Oh My Zsh
рдЬреЛ Oh My Zsh
рдХреЛ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИрдВред
рдмреЛрдирд╕
рдХрдорд┐рдЯ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ
рдХрдорд┐рдЯ рдХреА рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдкрдг рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде git log
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдХрдорд╛рдВрдб, рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЧреАрддрд╛ рдХреЗ рдХрд╕реНрдЯрдо рдЙрдкрдирд╛рдореЛрдВ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЕрдзрд┐рдХ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЙрд░реНрдл тАЛтАЛрдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ: glog
ред рдФрд░ рдпрджрд┐ рдЖрдкрдиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╕рд▓рд╛рд╣ рдкрд░ tig
рдпреВрдЯрд┐рд▓рд┐рдЯреА рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдкреВрд░реНрдг рдЪреИрдВрдкрд┐рдпрди рд╣реИрдВред
рдЕрдм, рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрдорд┐рдЯреНрд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╢рдмреНрдж рдХреЗ рд╡рд┐рдкрд░реАрдд рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
$ tig
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЬреЛрдбрд╝ рднреА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ рдЧреАрддрд╛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдХрд╣рд╛рдиреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб:
$ tig grep
рджреВрд╕рд░реЗ, рдЕрдкрдиреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕реНрд░реЛрддреЛрдВ, рд╢рд╛рдЦрд╛рдУрдВ, рдЯреИрдЧреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦрдирд╛:
$ tig refs
рддреАрд╕рд░рд╛, рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдорд┐рд▓реЗрдЧрд╛:
$ tig --help
рдЕрдХрд╕реНрдорд╛рдд рдмрдирд╛рдпрд╛ рдЧрдпрд╛ git reset --hard
рдЖрдкрдиреЗ рдкреВрд░реЗ рджрд┐рди elixir
рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛:
$ glog * 17cb385 (HEAD -> elixir) Refine Elixir article * c14b4dc Add article about Elixir * db84d54 (master) Initial commit
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджрд┐рдпрд╛:
$ grhh HEAD~2 HEAD is now at db84d54 Initial commit
рдШрдмрд░рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рдпрдо рдЧреАрддрд╛ рдФрд░ рд╕рд╛рдБрд╕ рдЫреЛрдбрд╝рддреЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЖрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдирд╛ рд╣реИ ред рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЙрдЧ - reflog
рдореЗрдВ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕рд╕реЗ, рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдХрдорд┐рдЯ рдХрд╛ рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝ рдкрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЪрд▓реЛ рд░рд┐рдлреНрд▓рдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ git reflog
рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рддрд┐рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ:
$ glg -g
рд╡рд╛рдВрдЫрд┐рдд 17cb385
рдХреЗ рд╣реИрд╢ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рд╕рдВрдпреЛрдЧ рд╕реЗ, рдореИрдВрдиреЗ рдПрдХ рдирдИ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдкрд┐рдЫрд▓реЗ рдПрдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП
рдпрд╣рд╛рдВ рд╣рдо рдлрд┐рд░ рд╕реЗ рдмрдЪрд╛рд╡ рд╕рд╣рд╛рдпрддрд╛ рдореЗрдВ рдЖрдПред рд╣рдо рдореВрд▓ 17cb385
рдХрдорд┐рдЯ рдХрд╛ рд╣реИрд╢ рдкрд╛рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдо рддреБрд░рдВрдд рд╣реА рдЗрд╕ рдХрдорд┐рдЯ рдХреЛ рд░рджреНрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣реИрд╢ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЗрд╕реЗ рддреНрд╡рд░рд┐рдд рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ HEAD@{1}
ред рдЕрдЧрд▓рд╛ рд╣рдо рдПрдХ рдирд░рдо рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:
рд╢рд╛рдЦрд╛ рдмрд╣реБрдд рдкреБрд░рд╛рдиреА рд╣реИ
рдХрднреА-рдХрднреА рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд░рд┐рд▓реАрдЬрд╝ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд▓рдВрдмрд┐рдд рд╣реЛрддреА рд╣реИред рдЖрдк рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВред рдЯреАрдо рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдЖрдк рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЖрдк рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд╛рдЦрд╛ рдореЗрдВ рд▓реМрдЯрддреЗ рд╣реИрдВред рдЖрдк рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдХ рджрд░реНрдЬрди рдХрдорд┐рдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЙрди рд╕рднреА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП elixir
рдирд╛рдордХ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╢рд╛рдЦрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╢рд╛рдЦрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХрдорд┐рдЯ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВред
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рд╣рдЯрд╛рдирд╛
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рд╕рд╣реЗрдЬрд╛ рд╣реИ:
$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch <path-to-your-file>' --prune-empty --tag-name-filter cat -- --all && git push origin --force --all
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЖрдкрдХрд╛ stash
рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдЫрд┐рдкреЗ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдФрд░ рдкрдврд╝реЗрдВред
рдкрд┐рдЫрд▓реА рд╢рд╛рдЦрд╛ рдХрд╛ рдЬрд┐рдХреНрд░
рд╢рд╛рдЦрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЙрд╕ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣рд╛рдЗрдлрд╝рди рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЖрдП рдереЗред рдЗрд╕ рдЪреЗрдХрдЖрдЙрдЯ рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ:
$ gco -
.gitignore
рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдПрдБ
рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ .gitignore
рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЭрдЯрдХрд╛ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ( рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбрд┐рд╕реНрдХ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ ), git clean
рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдЪрд╛рдмрд┐рдпрд╛рдВ рд╣реИрдВред
$ gclean -X
рд╕рд╛рд╡рдзрд╛рди!
рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЖрдЧреЗ рдкрдврд╝реЗрдВред
рдХрдИ рдЯреАрдореЛрдВ рдХреЛ --dry-run
рд╕реНрд╡рд┐рдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп --dry-run
рдПрд╣рддрд┐рдпрд╛рдд рдХреЗ рддреМрд░ рдкрд░ рдмрд╕ рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдФрд░ --dry-run
рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ --dry-run
рд╕реВрдЪреА рджреЗрдЦреЗрдВ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА --dry-run
рдмрд┐рдирд╛ рдХрдорд╛рдВрдб --dry-run
ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХрд╛рдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд┐рдВрджреБ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ 10-20 mnemonic рд╕рдВрдХреНрд╖рд┐рдкреНрддреАрдХрд░рдг рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдореВрд▓ рдЯреАрдо рдХреЛ рднреВрд▓ рдЬрд╛рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред рдЙрдкрдирд╛рдореЛрдВ рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдкреВрд░реА рдЯреАрдо рдХреЛ Zsh
+ Oh My Zsh
рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬреЛрдбрд╝реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╛рди рдЧрддрд┐ рдФрд░ рдЖрд░рд╛рдо рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рдХрд╣рд╛рдБ рдЬрд╛рдирд╛ рд╣реИ?
рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ:
- рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдХрд┐ рдЧреАрдЯ рдХреЛ рдЕрдВрджрд░ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВ рдЖрдк рдЬреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
- рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдЖрдЬреНрдЮрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд▓рд╕реА рдордд рдмрдиреЛ:
git --help
рдпрд╛ ghh
ред - рд▓рд┐рдВрдХ рдкрд░ рдПрд▓рд┐рдпрдВрд╕ рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреЗрдЦреЗрдВред рдЙрди рд╕рднреА рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдкрд╛рдЧрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рджрд┐рд▓рдЪрд╕реНрдк рдХрдорд╛рдВрдб рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рдХреБрдЫ рдЙрдкрдирд╛рдо рдЧреИрд░-рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рд╕реНрддреБрдд рдЙрдкрдирд╛рдореЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдХреЗрд╡рд▓ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рдЬреЛ рдЖрдЧреЗ рдХрд╛рдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬреАрдЖрдИрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХрдорд┐рдЯ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдЙрдкрдпреЛрдЧреА рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рд╢рд╛рдпрдж рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдирдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рд╕реМрднрд╛рдЧреНрдп рд╣реИ