Files
first-contributions/docs/gui-tool-tutorials/sublime-merge-tutorial.hi.md
T
2025-08-18 20:43:50 +05:30

112 lines
11 KiB
Markdown

[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)
[<img align="right" width="150" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/join-slack-team.png">](https://join.slack.com/t/firstcontributors/shared_invite/zt-1hg51qkgm-Xc7HxhsiPYNN3ofX2_I8FA)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Open Source Helpers](https://www.codetriage.com/roshanjossey/first-contributions/badges/users.svg)](https://www.codetriage.com/roshanjossey/first-contributions)
# First Contributions тАФ рд╣рд┐рдВрджреА
|<img alt="Sublime Merge" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/sublime-merge.png" width="200">|Sublime Merge Git рдХреНрд▓рд╛рдЗрдВрдЯ|
|---|---|
рдкрд╣рд▓реА рдмрд╛рд░ рдХреБрдЫ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд▓рдЧрддрд╛ рд╣реИред рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдк рд╕рд╣рдпреЛрдЧ (collaboration) рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдХреБрдЫ рдирдпрд╛ рдЖрдЬрд╝рдорд╛ рд░рд╣реЗ рд╣реЛрдВ тАФ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рдирд╛ рд╕рд╣рдЬ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рд▓реЗрдХрд┐рди рдУрдкрди рд╕реЛрд░реНрд╕ рдХрд╛ рдореВрд▓ рд╣реА рд╕рд╣рдпреЛрдЧ рдФрд░ рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирдП рдУрдкрди-рд╕реЛрд░реНрд╕ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реАрдЦреЗрдВ рдФрд░ рдХрд░ рдкрд╛рдПрдВред
рд▓реЗрдЦ рдкрдврд╝рдирд╛ рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦрдирд╛ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдХреБрдЫ рдмрд┐рдЧрд╛рдбрд╝реЗ **рдЦреБрдж рдХрд░рдХреЗ рд╕реАрдЦрдирд╛** рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирдП рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рджреЗрдиреЗ рдФрд░ рдЙрдирдХрд╛ рдкрд╣рд▓рд╛ рдпреЛрдЧрджрд╛рди рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ: рдЬрд┐рддрдирд╛ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ, рдЙрддрдирд╛ рдмреЗрд╣рддрд░ рд╕реАрдЦреЗрдВрдЧреЗред рдЕрдЧрд░ рдЖрдк рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрд╕рд╛рди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ тАФ рдпрд╣ рдордЬрд╝реЗрджрд╛рд░ рд╣реЛрдЧрд╛!
## Sublime Merge
[Sublime Merge](https://www.sublimemerge.com/) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдУрдкрди рдХрд░реЗрдВред
## рдЗрд╕ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдлреЛрд░реНрдХ рдХрд░реЗрдВ
рдЗрд╕ рдкреЗрдЬ рдХреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП **Fork** рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЗрд╕ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдлреЛрд░реНрдХ рдХрд░реЗрдВред
<img align="right" width="300" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/fork.png" alt="fork this repository" />
рдпрд╣ рдЖрдкрдХреА рдЕрдХрд╛рдЙрдВрдЯ рдореЗрдВ рдЗрд╕ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреА рдПрдХ рдХреЙрдкреА рдмрдирд╛ рджреЗрдЧрд╛ред
<br>
<br>
<br>
<br>
## рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
<img align="right" width="300" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/clone.png" alt="clone this repository" />
Sublime Merge рдореЗрдВ **File -> Clone Repository** рдкрд░ рдЬрд╛рдПрдБред
<img style="float: right;" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/sm-clone.png" alt="clone this repository" />
рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╣реИ рдЕрдкрдиреА рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдХреНрд▓реЛрди рдХрд░рдирд╛ рддрд╛рдХрд┐ рдЖрдк рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВред Sublime Merge рдХреЛ рдЖрдкрдХреА рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХрд╛ URL рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП **тАЬcloneтАЭ** рдмрдЯрди рджрдмрд╛рдПрдБ рдФрд░ рдлрд┐рд░ **тАЬcopy to clipboardтАЭ** рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
**рд╕рд╛рд╡рдзрд╛рди:** рдирдП рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдЕрдХреНрд╕рд░ рдЧрд▓рддреА рд╕реЗ рдЙрд╕ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдиреЗ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдлреЛрд░реНрдХ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреЗред рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА address bar рджреЗрдЦрдХрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк **рдЕрдкрдиреЗ рдлреЛрд░реНрдХ** рдХреЛ рд╣реА рдХреНрд▓реЛрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред
Sublime Merge рдореЗрдВ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХрд╛ URL рджрд░реНрдЬ рдХрд░реЗрдВ, рдЪрд╛рд╣реЗрдВ рддреЛ рдХреЛрдИ рдирд╛рдо рджреЗрдВ (рдпрд╛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВ) рдФрд░ рд╡рд╣ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЪреБрдиреЗрдВ рдЬрд╣рд╛рдБ рдЖрдк рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рд╕реЗрд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЬрдм рдкрде рд╕рд╣реА рд▓рдЧреЗ, **тАЬCloneтАЭ** рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
## рдПрдХ рдмреНрд░рд╛рдВрдЪ рдмрдирд╛рдПрдБ
Right click **Branches -> Create Branch**
рдпрд╛
**Repository -> Create Branch** рдкрд░ рдЬрд╛рдПрдБред
рдЕрдкрдиреА рдмреНрд░рд╛рдВрдЪ рдХрд╛ рдирд╛рдо `"add-your-name"` рдЬреИрд╕рд╛ рд░рдЦреЗрдВ, рдЙрджрд╛рд╣рд░рдг: `"add-william-sutton"`ред
<img style="float: right;" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/sm-branch.png" alt="name your branch" />
## рдЬрд╝рд░реВрд░реА рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдорд┐рдЯ рдХрд░реЗрдВ
рдЕрдм `Contributors.md` рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕реА рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдкрдирд╛ рдирд╛рдо рдЬреЛрдбрд╝реЗрдВ, рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ рд╕реЗрд╡ рдХрд░реЗрдВред
рдпрджрд┐ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА Sublime Merge рдореЗрдВ рдЦреБрд▓реА рд╣реИ, рддреЛ рдЖрдк рдмрджрд▓рд╛рд╡ рджреЗрдЦ рдкрд╛рдПрдБрдЧреЗред
рдКрдкрд░ рд╕рдмрд╕реЗ рдирдП рд╕реЗрдХреНрд╢рди **"x unstaged files"** рдХреЛ рдЪреБрдиреЗрдВред
рдЬрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реБрдЖ рд╣реИ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦреЗрдВ рдФрд░ рддрдп рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдЯреЗрдЬ рдХрд░рдирд╛ рд╣реИред
рдХрдорд┐рдЯ рд╕рдВрджреЗрд╢ рджреЗрдВ (рдЙрджрд╛рд╣рд░рдг: `"Add <your-name> to Contributors list"` тАФ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ)ред
рдЬрдм рдЖрдк рдмрджрд▓рд╛рд╡реЛрдВ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реЛрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓-рджрд░-рдлрд╝рд╛рдЗрд▓ рд╕реНрдЯреЗрдЬ рдХрд░реЗрдВ рдпрд╛ **"stage all"** рдЪреБрдиреЗрдВред рд╕реНрдЯреЗрдЬ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ рддрд╛рдХрд┐ Git рдЬрд╛рди рд╕рдХреЗ рдХрд┐ рдЗрд╕ рдХрдорд┐рдЯ рдореЗрдВ рдХреМрди-рд╕реЗ рдмрджрд▓рд╛рд╡ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рд╣реИрдВред
<img style="float: right;" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/sm-stage.png" alt="stage your changes" />
рдпрджрд┐ рдорди рдмрджрд▓ рдЬрд╛рдП, рддреЛ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ **unstage** рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдкреВрд░реА рддрд░рд╣ **discard** рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
**рдЪреЗрддрд╛рд╡рдиреА:** Discard рдХрд╛ рдорддрд▓рдм рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдирд╛ рд╣реИред рдЗрд╕реЗ рддрднреА рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреЛ рд╡реЗ рдмрджрд▓рд╛рд╡ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПрдБред
**Commit** рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЕрдкрдирд╛ рдпреВрдЬрд╝рд░рдиреЗрдо рдФрд░ рдИрдореЗрд▓ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ **Update** рджрдмрд╛рдПрдБред
рдлрд┐рд░ рд╕реЗ **Commit** рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдмрдзрд╛рдИ! рдЖрдкрдиреЗ рдЕрдкрдиреА рдлреЛрд░реНрдХ рдХреА рд╣реБрдИ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреА рдЕрдкрдиреА рдмреНрд░рд╛рдВрдЪ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд╛рд░реЗ рдмрджрд▓рд╛рд╡ рдХрдорд┐рдЯ рдХрд░ рджрд┐рдП рд╣реИрдВред рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ!
## рдмрджрд▓рд╛рд╡ GitHub рдкрд░ рдкреБрд╢ рдХрд░реЗрдВ
**Repository -> Push** рдкрд░ рдЬрд╛рдПрдБ
рдпрд╛ рдКрдкрд░ рджрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рдКрдкрд░ рдХреА рдУрд░ рддреАрд░ рд╡рд╛рд▓реЗ рдЫреЛрдЯреЗ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
<img style="float: right;" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/sm-login.png" alt="login" />
рдЕрдкрдиреЗ GitHub рдЕрдХрд╛рдЙрдВрдЯ рдореЗрдВ рдпреВрдЬрд╝рд░рдиреЗрдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдмрджрд▓рд╛рд╡ рд╕реАрдзреЗ master (рдпрд╛ default) рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рджрд┐рдЦреЗрдВ, рддреЛ **origin** рдХреА рд╡рд╣реА рдмреНрд░рд╛рдВрдЪ рдЪреБрдирдХрд░ рдкреБрд╢ рдХрд░реЗрдВ; рдЕрдиреНрдпрдерд╛ рдЬрд┐рд╕ рдЙрдкрдпреБрдХреНрдд рдмреНрд░рд╛рдВрдЪ рдкрд░ рдкреБрд╢ рдХрд░рдирд╛ рд╣реИ рдЙрд╕реЗ рдЪреБрдиреЗрдВред
## рдЕрдкрдиреЗ рдмрджрд▓рд╛рд╡ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ
GitHub рдкрд░ рдЕрдкрдиреА рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдореЗрдВ рдЬрд╛рдПрдБ тАФ рдЖрдкрдХреЛ **`Compare & pull request`** рдмрдЯрди рджрд┐рдЦреЗрдЧрд╛ред рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
<img style="float: right;" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/compare-and-pull.png" alt="create a pull request" />
рдЕрдм рдкреБрд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред
<img style="float: right;" src="https://firstcontributions.github.io/assets/gui-tool-tutorials/sublime-merge-tutorial/submit-pull-request.png" alt="submit pull request" />
рдЬрд▓реНрдж рд╣реА рдЖрдкрдХреЗ рдмрджрд▓рд╛рд╡ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА master рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рдорд░реНрдЬ рдХрд░ рджрд┐рдП рдЬрд╛рдПрдБрдЧреЗред рдорд░реНрдЬ рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЛ рдИрдореЗрд▓ рдиреЛрдЯрд┐рдлрд╝рд┐рдХреЗрд╢рди рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред
## рдЖрдЧреЗ рдХреНрдпрд╛?
рд╢рд╛рдмрд╛рд╢! рдЖрдкрдиреЗ рдПрдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдХреНрд╕рд░ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдирдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ тАФ _fork -> clone -> edit -> PR_ тАФ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ!
рдЕрдкрдиреЗ рдпреЛрдЧрджрд╛рди рдХрд╛ рдЬрд╢реНрди рдордирд╛рдПрдБ рдФрд░ рдЕрдкрдиреЗ рджреЛрд╕реНрддреЛрдВ рд╡ рдлрд╝реЙрд▓реЛрдЕрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╢реЗрдпрд░ рдХрд░реЗрдВ: [web app](https://firstcontributions.github.io#social-share)ред
рдЕрдЧрд░ рдЖрдкрдХреЛ рдорджрдж рдЪрд╛рд╣рд┐рдП рдпрд╛ рдХреЛрдИ рд╕рд╡рд╛рд▓ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ Slack рдЯреАрдо рд╕реЗ рдЬреБрдбрд╝реЗрдВ: [Join slack team](https://join.slack.com/t/firstcontributors/shared_invite/zt-1hg51qkgm-Xc7HxhsiPYNN3ofX2_I8FA)ред
### [рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА](../additional-material/git_workflow_senarios/additional-material.md)
## рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕
[рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ](https://github.com/firstcontributions/first-contributions#tutorials-using-other-tools)