Git рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреВрд▓ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреАрдореЛрдВ рдХреЛ рдЗрдиреНрд╣реЗрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ, рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕рд╣рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдЗрддрд┐рд╣рд╛рд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЯреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рдЗрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯреВрд▓реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ git blameред рдпрд╣ рдХрдорд╛рдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рд╣рд░ рдкрдВрдХреНрддрд┐ рдХреА рдЙрддреНрдкрддреНрддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдХрд┐ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдЗрд╕реЗ рдХрд┐рд╕рдиреЗ рдФрд░ рдХрдм рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git blame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рд╣рдо рдмреБрдирд┐рдпрд╛рджреА рдХрдорд╛рдВрдбреНрд╕ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдУрд░ рдмрдврд╝реЗрдВрдЧреЗ, рдЬреИрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛, рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди, рдФрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧред рдЕрдВрдд рддрдХ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдб рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреА рдЯреАрдо рдХреЗ рднреАрддрд░ рд╕рд╣рдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдареЛрд╕ рд╕рдордЭ рд╣реЛрдЧреАред
Git Blame рдХреНрдпрд╛ рд╣реИ?
рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЬрд╣рд╛рдБ рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдордЭрдирд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ, рдкреБрд░рд╛рдиреЗ рдлрд╝реИрд╕рд▓реЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕реНрдкрд╖реНрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдмрд┐рдирд╛, рдЯреАрдореЛрдВ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдмрджрд▓рд╛рд╡ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣реАрдВ рдкрд░ git blame рдмреЗрд╣рдж рдореВрд▓реНрдпрд╡рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕реВрдХреНрд╖реНрдо рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рд╣рд░ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрдорд┐рдЯ рд╡рд┐рд╡рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде, рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдорд┐рдЯ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╕рдВрджреЗрд╢ рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд╕рдВрджрд░реНрдн рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд╛рд╣реЗ рдЖрдк рдХрд┐рд╕реА рдмрдЧ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, git blame рд╡рд╣ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

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

рдЖрдк рд╣рдорд╛рд░реЗ Git рдФрд░ GitHub рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, Git рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рд╕рдордЭрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЗрд╕рдХреА рдЕрд╣рдо рднреВрдорд┐рдХрд╛ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИред
git blame рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдпреЛрдЧ
git blame рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ:
git blame <file>рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрд╣ рдХрдорд╛рдВрдб рд╣рд░ рд▓рд╛рдЗрди рдХреЛ рдЙрд╕ рдЖрдЦрд┐рд░реА рдХрдорд┐рдЯ рдХреЗ рд╕рд╛рде рдПрдиреЛрдЯреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд▓реЗрдЦрдХ, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рдХрдорд┐рдЯ рд╣реИрд╢ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
$ git blame example.py
derrickmwiti@Derricks-MacBook-Pro remixer % git blame src/components/ContentGenerator.vue
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 1) <template>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 2) <div class="content-generator">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 3) <div class="card h-100 border-0 shadow-sm">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 4) <div class="card-header bg-white border-bottom-0 pt-4">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 5) <div class="d-flex justify-content-between align-items-center mb-3">
289030a0 (Derrick Mwiti 2025-03-11 12:47:11 +0300 6) <div class="d-flex align-items-center gap-2">
289030a0 (Derrick Mwiti 2025-03-11 12:47:11 +0300 7) <h5 class="mb-0">Content Generator</h5>
289030a0 (Derrick Mwiti 2025-03-11 12:47:11 +0300 8) <span class="badge bg-secondary" v-if="openaiModel">{{ openaiModel }}</span>
289030a0 (Derrick Mwiti 2025-03-11 12:47:11 +0300 9) </div>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 10) </div>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 11)
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 12)
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 13) <nav>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 14) <div class="nav nav-tabs card-header-tabs gap-1" id="nav-tab" role="tablist">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 15) <button
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 16) v-for="platform in platforms"
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 17) :key="platform"
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 18) class="nav-link"рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ:
- рдХрдорд┐рдЯ рд╣реИрд╢ (
^3b1aef2 рдФрд░ ^8f2c4d3)
- рд▓реЗрдЦрдХ рдХрд╛ рдирд╛рдо (Derrick Mwiti)
- рдЖрдЦрд┐рд░реА рд╕рдВрд╢реЛрдзрди рдХрд╛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐
Git Blame рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ
рдЕрдм рдЬрдм рдЖрдк git blame рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдордЭ рдЧрдП рд╣реИрдВ, рддреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд░реЛрдЬрд╝рдорд░реНрд░рд╛ рдХреА рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдвреВрдБрдврдирд╛
рдпрджрд┐ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдмрдбрд╝реА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реИ, рддреЛ рдПрдХ рд▓рд╛рдЗрди рд░реЗрдВрдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
derrickmwiti@Derricks-MacBook-Pro remixer % git blame -L 10,20 src/components/ContentGenerator.vue
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 10) </div>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 11)
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 12)
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 13) <nav>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 14) <div class="nav nav-tabs card-header-tabs gap-1" id="nav-tab" role="tablist">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 15) <button
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 16) v-for="platform in platforms"
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 17) :key="platform"
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 18) class="nav-link"
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 19) :class="{ active: activeTab === platform }"
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 20) :id="nav-${platform}-tab"рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрд╣ рд▓рд╛рдЗрдиреЛрдВ 10 рд╕реЗ 20 рдкрд░ рдлреЛрдХрд╕ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдвреВрдБрдврдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
git show рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдордЭрдирд╛
рдЬрд╣рд╛рдБ git blame рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдЖрдЦрд┐рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рдХрд┐ рдЙрд╕ рдХрдорд┐рдЯ рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, git show <commit-hash> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
derrickmwiti@Derricks-MacBook-Pro remixer % git show 28203e0
commit 28203e0f7cbe92c6baf6897a54686e87d16c9cda
Author: Derrick Mwiti <[email protected]>
Date: Mon Mar 10 17:48:31 2025 +0300
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..5a5809d
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,9 @@
+[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}]
+charset = utf-8
+indent_size = 2
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+end_of_line = lf
+max_line_length = 100
diff --git a/.env b/.env
:рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
<commit-hash> рдХреЛ git blame рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдорд┐рдЯ ID рд╕реЗ рдмрджрд▓рдиреЗ рдкрд░ рдкреВрд░рд╛ рдХрдорд┐рдЯ рд╕рдВрджреЗрд╢ рдФрд░ рдХреЛрдб рдбрд┐рдлрд╝ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЗрд╕реЗ рдФрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ Git Diff рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдмреЗрд╕рд┐рдХ рддреБрд▓рдирд╛ рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рддрдХрдиреАрдХреЛрдВ рддрдХ, git diff рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред
Git Blame рдХреА рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рддрд░реАрдХреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ Git blame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:┬а
Whitespace рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛
рдХреБрдЫ рдлреЙрд░реНрдореИрдЯрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди, рдЬреИрд╕реЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдареАрдХ рдХрд░рдирд╛, рд▓реЙрдЬрд┐рдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗред рдЗрдиреНрд╣реЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git blame -w <file> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
derrickmwiti@Derricks-MacBook-Pro remixer % git blame -w src/components/ContentGenerator.vue
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 1) <template>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 2) <div class="content-generator">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 3) <div class="card h-100 border-0 shadow-sm">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 4) <div class="card-header bg-white border-bottom-0рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛
рдпрджрд┐ рдХреБрдЫ рдХрдорд┐рдЯреНрд╕ (рдЬреИрд╕реЗ рдереЛрдХ рд░реАрдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ) blame рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ git blame --ignore-rev <commit-hash> <file> рдХреЗ рд╕рд╛рде рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
derrickmwiti@Derricks-MacBook-Pro remixer % git blame --ignore-rev 28203e0 src/components/ContentGenerator.vue
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 1) <template>
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 2) <div class="content-generator">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 3) <div class="card h-100 border-0 shadow-sm">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 4) <div class="card-header bg-white border-bottom-0 pt-4">
^28203e0 (Derrick Mwiti 2025-03-10 17:48:31 +0300 5) <div class="d-flex justify-content-between align-items-center mb-3">
289030a0 (Derrick Mwiti 2025-03-11 12:47:11 +0300 6) <div class="d-flex align-items-center gap-2">рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдХрдИ рдХрдорд┐рдЯреНрд╕ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ --ignore-revs-file рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдХрд░ blame рдЗрддрд┐рд╣рд╛рд╕ рд╕рд╛рдлрд╝ рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
рдЕрдкрдиреЗ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ .git-blame-ignore-revs рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдЬрд┐рди рдХрдорд┐рдЯ рд╣реИрд╢ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ, рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
# Commit introducing code formatting changes
a926bba49c89a5b882cd298be3af2570b1e6252cрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:тАЛ
git blame --ignore-revs-file .git-blame-ignore-revs filenameрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
Git рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреА ignore рдлрд╝рд╛рдЗрд▓ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рджреЗрдиреЗ рд╣реЗрддреБ рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
git config blame.ignoreRevsFile .git-blame-ignore-revsрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдирд╛рдо рдХреА рдЬрдЧрд╣ рд▓реЗрдЦрдХ рдХреЗ рдИрдореЗрд▓ рджреЗрдЦрдирд╛
рд▓реЗрдЦрдХ рдХрд╛ рдирд╛рдо рджрд┐рдЦрд╛рдиреЗ рдХреА рдмрдЬрд╛рдп рдЙрд╕рдХрд╛ рдИрдореЗрд▓ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
derrickmwiti@Derricks-MacBook-Pro remixer % git blame --show-email src/components/PostsManager.vue
dbe547ec (<[email protected]> 2025-03-11 09:22:59 +0300 1) <template>
dbe547ec (<[email protected]> 2025-03-11 09:22:59 +0300 2) <div class="posts-manager">
dbe547ec (<[email protected]> 2025-03-11 09:22:59 +0300 3) <h3>Saved Posts</h3>
dbe547ec (<[email protected]> 2025-03-11 09:22:59 +0300 4)
dbe547ec (<[email protected]> 2025-03-11 09:22:59 +0300 5) <div v-if="loading" class="text-center my-4">
dbe547ec (<[email protected]> 2025-03-11 09:22:59 +0300 6) <div class="spinner-border text-primary" role="status">рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкреВрд░реНрдг рдХрдорд┐рдЯ рд╣реИрд╢ рджрд┐рдЦрд╛рдирд╛
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, git blame рдЫреЛрдЯреЗ рдХрдорд┐рдЯ рд╣реИрд╢ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкреВрд░реНрдг рд╣реИрд╢ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓рд╛рдПрдБ:
derrickmwiti@Derricks-MacBook-Pro remixer % git blame --abbrev=40 src/components/PostsManager.vue
dbe547ec4ece7cb2a1ff3dadb4770cc9ee9f161e (Derrick Mwiti 2025-03-11 09:22:59 +0300 1) <template>
dbe547ec4ece7cb2a1ff3dadb4770cc9ee9f161e (Derrick Mwiti 2025-03-11 09:22:59 +0300 2) <div class="posts-manager">
dbe547ec4ece7cb2a1ff3dadb4770cc9ee9f161e (Derrick Mwiti 2025-03-11 09:22:59 +0300 3) <h3>Saved Posts</h3>
dbe547ec4ece7cb2a1ff3dadb4770cc9ee9f161e (Derrick Mwiti 2025-03-11 09:22:59 +0300 4)
be547ec4ece7cb2a1ff3dadb4770cc9ee9f161e (Derrick Mwiti 2025-03-11 09:22:59 +0300 5) <div v-if="loading" class="text-center my-4">рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдк --abbrev=<n> рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Git blame рдореЗрдВ рд╣реИрд╢ рд╕рдВрдХреНрд╖реЗрдк рдХреА рд▓рдВрдмрд╛рдИ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Visual Studio Code рдореЗрдВ git blame рдХрд╛ рдЙрдкрдпреЛрдЧ
рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ Visual Studio Code рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП Git Blame рдПрдХреНрд╕рдЯреЗрдВрд╢рди git blame рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред┬а

рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рдЗрдирд▓рд╛рдЗрди blame рдПрдиреЛрдЯреЗрд╢рди рджреЗрдЦреЗрдВред
- рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рд╣реЛрд╡рд░ рдХрд░ рдХрдорд┐рдЯ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред
- рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдФрд░ рд▓рд╛рдЗрди рд╣рд┐рд╕реНрдЯреНрд░реА рддрдХ рдкрд╣реБрдБрдЪреЗрдВред
Git Blame рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ
.git-blame-ignore-revs рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлреЙрд░реНрдореИрдЯрд┐рдВрдЧ рд╕рдВрдмрдВрдзреА рдХрдорд┐рдЯреНрд╕ blame рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рди рдХрд░реЗрдВред рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдпрджрд┐ рд╕рднреА рд▓реЛрдЧ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреИрд╕реА рдкрд░рдВрдкрд░рд╛рдПрдБ рдЕрдкрдирд╛рдПрдБ, рддреЛ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
git blame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЙрджреНрджреЗрд╢реНрдп рд╣рдореЗрд╢рд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреАрдЫреЗ рдХреА рд╡рдЬрд╣ рд╕рдордЭрдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рджреЛрд╖рд╛рд░реЛрдкрдг рдирд╣реАрдВред рдпрд╣ рд╕реАрдЦрдиреЗ рдФрд░ рд╕рд╣рдпреЛрдЧ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЯреВрд▓ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖┬а
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдХрд╡рд░ рдХрд┐рдпрд╛ рдХрд┐ git blame рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдирдХреЗ рдХреЛрдб рдореЗрдВ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдпреЛрдЧ рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдХрдорд╛рдВрдб рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕рдиреЗ рдФрд░ рдХрдм рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдЗрд╕ рдкрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЕрдиреНрдп Git рдЯреВрд▓реНрд╕, рдЬреИрд╕реЗ git show, рдХреЗ рд╕рд╛рде рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд░ рдФрд░ рдЗрдЧреНрдиреЛрд░реНрдб рд░рд┐рд╡реАрдЬрд╝рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рдЗрд╕реЗ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд╛рд╣реЗ рдЖрдк рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбрд┐рдмрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╛ рдХреЗрд╡рд▓ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдордЭ рд░рд╣реЗ рд╣реЛрдВ, git blame рдРрд╕реА рдореВрд▓реНрдпрд╡рд╛рди рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рдореЗрдВрдЯреЗрдиреЗрдВрд╕ рдФрд░ рд╕рд╣рдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИред
git blame рдЬреИрд╕реЗ рдЯреВрд▓реНрд╕ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЖрдкрдХреЛ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ, рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рд╣рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рдлрд╝-рд╕реБрдерд░рд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕рдиреЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдмрджрд▓реАтАФрдмрд▓реНрдХрд┐ рдпрд╣ рднреА рдХрд┐ рдХреНрдпреЛрдВтАФрдФрд░ рдЙрд╕ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреЗрд╣рддрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ред Git рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╡реНрдпрд╛рдкрдХ Git рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред рдпрд╛ рд╣рдорд╛рд░реЗ рдордзреНрдп-рд╕реНрддрд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Git рдХреЛрд░реНрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВред┬а
Git рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреВрд▓ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреАрдореЛрдВ рдХреЛ рдЗрдиреНрд╣реЗрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ, рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕рд╣рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдЗрддрд┐рд╣рд╛рд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЯреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рдЗрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯреВрд▓реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ
git blameред рдпрд╣ рдХрдорд╛рдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рд╣рд░ рдкрдВрдХреНрддрд┐ рдХреА рдЙрддреНрдкрддреНрддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдХрд┐ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдЗрд╕реЗ рдХрд┐рд╕рдиреЗ рдФрд░ рдХрдм рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдерд╛редрдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
git blameрдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рд╣рдо рдмреБрдирд┐рдпрд╛рджреА рдХрдорд╛рдВрдбреНрд╕ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдУрд░ рдмрдврд╝реЗрдВрдЧреЗ, рдЬреИрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛, рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди, рдФрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧред рдЕрдВрдд рддрдХ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдб рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреА рдЯреАрдо рдХреЗ рднреАрддрд░ рд╕рд╣рдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдареЛрд╕ рд╕рдордЭ рд╣реЛрдЧреАредGit Blame рдХреНрдпрд╛ рд╣реИ?
рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЬрд╣рд╛рдБ рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдордЭрдирд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ, рдкреБрд░рд╛рдиреЗ рдлрд╝реИрд╕рд▓реЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕реНрдкрд╖реНрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдмрд┐рдирд╛, рдЯреАрдореЛрдВ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдмрджрд▓рд╛рд╡ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣реАрдВ рдкрд░
git blameрдмреЗрд╣рдж рдореВрд▓реНрдпрд╡рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕реВрдХреНрд╖реНрдо рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рд╣рд░ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрдорд┐рдЯ рд╡рд┐рд╡рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде, рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдорд┐рдЯ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╕рдВрджреЗрд╢ рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд╕рдВрджрд░реНрдн рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд╛рд╣реЗ рдЖрдк рдХрд┐рд╕реА рдмрдЧ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ,git blameрд╡рд╣ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИредgit blame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?
рдЯреАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбрд┐рдмрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреА рдХрд┐рд╕реА рдкрдВрдХреНрддрд┐ рдХреЛ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдХрд┐рд╕рдиреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ред рдпрджрд┐ рд╣рд╛рд▓рд┐рдпрд╛ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рдХреЛрдИ рдмрдЧ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ
git blameрдЙрд╕ рд╕рдЯреАрдХ рдкрд░рд┐рд╡рд░реНрддрди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЬрдиреНрдо рджрд┐рдпрд╛ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЗ рдкрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рд╕рд╣реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИредрдпрд╣ рдХрдорд╛рдВрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреАрдЫреЗ рдХреА рддрд░реНрдХрд╢реАрд▓рддрд╛ рд╕рдордЭрдиреЗ рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧреА рд╣реИред рдХреЛрдб рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдФрд░ рдХрдорд┐рдЯ рд╕рдВрджреЗрд╢ рдХрднреА-рдХрднреА рдкреВрд░реА рд╕реЛрдЪ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд┐рдЯ рддрдХ рдЯреНрд░реЗрд╕ рдХрд░рдХреЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛рдУрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реНрдпрд╛рдкрдХ рддрд╕реНрд╡реАрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рд╣рдорд╛рд░реЗ Git рдФрд░ GitHub рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, Git рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рд╕рдордЭрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЗрд╕рдХреА рдЕрд╣рдо рднреВрдорд┐рдХрд╛ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИред
git blame рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдпреЛрдЧ
git blameрдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ:рдпрд╣ рдХрдорд╛рдВрдб рд╣рд░ рд▓рд╛рдЗрди рдХреЛ рдЙрд╕ рдЖрдЦрд┐рд░реА рдХрдорд┐рдЯ рдХреЗ рд╕рд╛рде рдПрдиреЛрдЯреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд▓реЗрдЦрдХ, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рдХрдорд┐рдЯ рд╣реИрд╢ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ:
^3b1aef2рдФрд░^8f2c4d3)Git Blame рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ
рдЕрдм рдЬрдм рдЖрдк git blame рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдордЭ рдЧрдП рд╣реИрдВ, рддреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд░реЛрдЬрд╝рдорд░реНрд░рд╛ рдХреА рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдвреВрдБрдврдирд╛
рдпрджрд┐ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдмрдбрд╝реА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реИ, рддреЛ рдПрдХ рд▓рд╛рдЗрди рд░реЗрдВрдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
рдпрд╣ рд▓рд╛рдЗрдиреЛрдВ 10 рд╕реЗ 20 рдкрд░ рдлреЛрдХрд╕ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдвреВрдБрдврдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
git show рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдордЭрдирд╛
рдЬрд╣рд╛рдБ
git blameрдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдЖрдЦрд┐рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рдХрд┐ рдЙрд╕ рдХрдорд┐рдЯ рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП,git show <commit-hash>рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:<commit-hash>рдХреЛgit blameрд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдорд┐рдЯ ID рд╕реЗ рдмрджрд▓рдиреЗ рдкрд░ рдкреВрд░рд╛ рдХрдорд┐рдЯ рд╕рдВрджреЗрд╢ рдФрд░ рдХреЛрдб рдбрд┐рдлрд╝ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИредрдЗрд╕реЗ рдФрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ Git Diff рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдмреЗрд╕рд┐рдХ рддреБрд▓рдирд╛ рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рддрдХрдиреАрдХреЛрдВ рддрдХ, git diff рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред
Git Blame рдХреА рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рддрд░реАрдХреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ Git blame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:┬а
Whitespace рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛
рдХреБрдЫ рдлреЙрд░реНрдореИрдЯрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди, рдЬреИрд╕реЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдареАрдХ рдХрд░рдирд╛, рд▓реЙрдЬрд┐рдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗред рдЗрдиреНрд╣реЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
git blame -w <file>рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛
рдпрджрд┐ рдХреБрдЫ рдХрдорд┐рдЯреНрд╕ (рдЬреИрд╕реЗ рдереЛрдХ рд░реАрдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ) blame рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ
git blame --ignore-rev <commit-hash> <file>рдХреЗ рд╕рд╛рде рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:рдХрдИ рдХрдорд┐рдЯреНрд╕ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
--ignore-revs-fileрд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдХрд░ blame рдЗрддрд┐рд╣рд╛рд╕ рд╕рд╛рдлрд╝ рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИредрдЕрдкрдиреЗ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
.git-blame-ignore-revsрдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдЬрд┐рди рдХрдорд┐рдЯ рд╣реИрд╢ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ, рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:тАЛ
Git рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреА ignore рдлрд╝рд╛рдЗрд▓ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рджреЗрдиреЗ рд╣реЗрддреБ рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
рдирд╛рдо рдХреА рдЬрдЧрд╣ рд▓реЗрдЦрдХ рдХреЗ рдИрдореЗрд▓ рджреЗрдЦрдирд╛
рд▓реЗрдЦрдХ рдХрд╛ рдирд╛рдо рджрд┐рдЦрд╛рдиреЗ рдХреА рдмрдЬрд╛рдп рдЙрд╕рдХрд╛ рдИрдореЗрд▓ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкреВрд░реНрдг рдХрдорд┐рдЯ рд╣реИрд╢ рджрд┐рдЦрд╛рдирд╛
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ,
git blameрдЫреЛрдЯреЗ рдХрдорд┐рдЯ рд╣реИрд╢ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкреВрд░реНрдг рд╣реИрд╢ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓рд╛рдПрдБ:рдЖрдк
--abbrev=<n>рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Git blame рдореЗрдВ рд╣реИрд╢ рд╕рдВрдХреНрд╖реЗрдк рдХреА рд▓рдВрдмрд╛рдИ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредVisual Studio Code рдореЗрдВ git blame рдХрд╛ рдЙрдкрдпреЛрдЧ
рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ Visual Studio Code рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП Git Blame рдПрдХреНрд╕рдЯреЗрдВрд╢рди
git blameрдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред┬ардпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
Git Blame рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ
.git-blame-ignore-revsрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлреЙрд░реНрдореИрдЯрд┐рдВрдЧ рд╕рдВрдмрдВрдзреА рдХрдорд┐рдЯреНрд╕ blame рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рди рдХрд░реЗрдВред рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдпрджрд┐ рд╕рднреА рд▓реЛрдЧ рд░рд┐рд╡реАрдЬрд╝рди рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреИрд╕реА рдкрд░рдВрдкрд░рд╛рдПрдБ рдЕрдкрдирд╛рдПрдБ, рддреЛ рдорджрдж рдорд┐рд▓рддреА рд╣реИредgit blameрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЙрджреНрджреЗрд╢реНрдп рд╣рдореЗрд╢рд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреАрдЫреЗ рдХреА рд╡рдЬрд╣ рд╕рдордЭрдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рджреЛрд╖рд╛рд░реЛрдкрдг рдирд╣реАрдВред рдпрд╣ рд╕реАрдЦрдиреЗ рдФрд░ рд╕рд╣рдпреЛрдЧ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЯреВрд▓ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИредрдирд┐рд╖реНрдХрд░реНрд╖┬а
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдХрд╡рд░ рдХрд┐рдпрд╛ рдХрд┐
git blameрдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдирдХреЗ рдХреЛрдб рдореЗрдВ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдпреЛрдЧ рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдХрдорд╛рдВрдб рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕рдиреЗ рдФрд░ рдХрдм рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдЗрд╕ рдкрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИредрдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЕрдиреНрдп Git рдЯреВрд▓реНрд╕, рдЬреИрд╕реЗ
git show, рдХреЗ рд╕рд╛рде рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд░ рдФрд░ рдЗрдЧреНрдиреЛрд░реНрдб рд░рд┐рд╡реАрдЬрд╝рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рдЗрд╕реЗ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд╛рд╣реЗ рдЖрдк рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбрд┐рдмрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╛ рдХреЗрд╡рд▓ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдордЭ рд░рд╣реЗ рд╣реЛрдВ,git blameрдРрд╕реА рдореВрд▓реНрдпрд╡рд╛рди рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рдореЗрдВрдЯреЗрдиреЗрдВрд╕ рдФрд░ рд╕рд╣рдпреЛрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИредgit blameрдЬреИрд╕реЗ рдЯреВрд▓реНрд╕ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЖрдкрдХреЛ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ, рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рд╣рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рдлрд╝-рд╕реБрдерд░рд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕рдиреЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдмрджрд▓реАтАФрдмрд▓реНрдХрд┐ рдпрд╣ рднреА рдХрд┐ рдХреНрдпреЛрдВтАФрдФрд░ рдЙрд╕ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреЗрд╣рддрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ред Git рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╡реНрдпрд╛рдкрдХ Git рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред рдпрд╛ рд╣рдорд╛рд░реЗ рдордзреНрдп-рд╕реНрддрд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Git рдХреЛрд░реНрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВред┬а