Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ commit Π² github
Git Guides
git commit creates a commit, which is like a snapshot of your repository. These commits are snapshots of your entire repository at specific times. You should make new commits often, based around logical units of change. Over time, commits should tell a story of the history of your repository and how it came to be the way that it currently is. Commits include lots of metadata in addition to the contents and message, like the author, timestamp, and more.
How Git Commit Works
Commits are the building blocks of «save points» within Git’s version control.
Commits shape history
Commits are lightweight SHA hashes, objects within Git. As long as you’re working with text files, you won’t need to worry about how many files you have, how big they are, or how many commits you make. Git can handle it!
Committing in two phases
How to Use Git Commit
Common usages and options for Git Commit
How to Undo Commits in Git
Sometimes, you may need to change history. You may need to undo a commit. If you find yourself in this situation, there are a few very important things to remember:
What can go wrong while changing history?
In dramatic cases, Git may decide that the histories are too different and the projects are no longer related. This is uncommon, but a big problem.
The most common result is that your git push would return the «deleted» commit to shared history. (First, you would git pull if you were working on the same branch, and then merge, but the results would be the same.) This means that whatever was so important to delete is now back in the repository. A password, token, or large binary file may return without ever alerting you.
git revert is the safest way to change history with Git. Instead of deleting existing commits, git revert looks at the changes introduced in a specific commit, then applies the inverse of those changes in a new commit. It functions as an «undo commit» command, without sacrificing the integrity of your repository’s history. git revert is always the recommended way to change history when it’s possible.
Updating Commits With Git Commit Amend
Examples of Git Commit
Once you’ve staged the files that you want to include in your commit, you’re ready. Whether you commit in a tool like GitHub Desktop, or through your command line, the commit message is important. Commit messages should be short and descriptive of your change. If you are looking through your repository’s history, you’ll be guided by the commit messages, so they should tell a story. Commits in the command line can include the message with the following format:
Commit messages should be present tense and directive, like the following examples:
If you’d like to include more context in your commit messages, you can also include an extended commit message.
Get started with git and GitHub
Review code, manage projects, and build software alongside 40 million developers.
ΠΠ°ΠΏΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΠ°ΠΊ, Ρ Π²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Β«ΡΠ½ΠΈΠΌΠΊΠΈΒ» ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (snapshots) ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π°ΠΌ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ: ΠΏΠΎΠ΄ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ (ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅) ΠΈ Π½Π΅Ρ (Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅). ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ½ΠΈΠΌΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°; ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΌΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠ»ΠΈ ΠΊΡΠ°ΡΠΊΠΎ, ΡΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π·Π½Π°Π΅Ρ Git.
ΠΠ΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, Π»ΡΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΠ»ΠΈ Π² Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Git ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΈΡ ΠΈΠ·Π²Π»Π΅ΠΊ ΠΈ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Git Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ Π²ΡΠ΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΈΠΊΠ» ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±Π° ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π²ΠΎΠΉΠ΄ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π² CONTRIBUTING.md Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΉΠ», Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠΎΠ΄Π΅ Π±Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅-ΠΊΠ° Π΅ΡΡ ΡΠ°Π· Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ git status :
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ°ΡΡΡΠ°
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ Git ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π½Π° Β«.oΒ» ΠΈΠ»ΠΈ Β«.aΒ» β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΈ Π°ΡΡ ΠΈΠ²Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π½Π° ΡΠΈΠ»ΡΠ΄Ρ (
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠ²Π»ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ»Π΅Ρ (/) Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Ρ (/) Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π°.
ΠΠΎΠΆΠ½ΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ (!) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΆΠ΅ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ, Π½Π°Π±Π΅ΡΠΈΡΠ΅ git diff Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΅ΡΡ Π½Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ git diff ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅, ΡΡΠΎ Π΅ΡΡ Π½Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΡΠ΅ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎ git diff Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²Π΅ΡΠ½ΡΡ.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π²Ρ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΉΠ» CONTRIBUTING.md ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git diff Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΡΠ°ΠΊ ΠΈ ΡΠ΅Ρ , ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΡΠ»ΠΈ Π½Π°ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ git diff Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½Π΅ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠΎΠΌΠΌΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΡΠΎΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ.
Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΡΠ½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ (ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Vim):
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status ΠΈ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΡΠ²Π΅ΡΡ Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π½Π°Π±ΡΠ°ΡΡ ΡΠ²ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡ Π΄Π»Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅.
ΠΡΠ°ΠΊ, Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ Π²ΡΠ²Π΅Π» Π²Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅Π±Π΅: Π½Π° ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΠΊΡ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ ( master ), ΠΊΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° SHA-1 Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ( 463dc4f ), ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ/ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ Π² ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΡΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ, ΡΠ°ΠΊ ΠΈ Π²ΠΈΡΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΠΎΠ΅; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΡΠ΅ΠΊΡΠΈΠΈ Β«Changes not staged for commitΒ» (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅) Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status :
Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π°
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, Git Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ²Π½ΠΎ. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» Π² Git, Π² Π½ΡΠΌ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , Π³ΠΎΠ²ΠΎΡΡΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½. ΠΠ΄Π½Π°ΠΊΠΎ, Git Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΌΡΠ½ Π² ΠΏΠ»Π°Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΡΡΠ°ΠΊΡΡΠΌ β ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π°Π»ΠΈΡΠΈΠ΅ Π² Git ΠΊΠΎΠΌΠ°Π½Π΄Ρ mv Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½Π½ΡΠΌ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π² Git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
ΠΈ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΡΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Git ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°:
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
Git commit
ΠΠΎΠΌΠΌΠΈΡ Π² Git ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ Π² SVN
ΠΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
Π‘Π½ΠΈΠΌΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π° Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ SVN ΠΈ Git Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΈΡ Π±Π°Π·ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. SVN ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Git Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ SVN ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π Git Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Git Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π² SVN, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π½Π΅ Π½ΡΠΆΠ½ΠΎ Β«ΡΠΎΠ±ΠΈΡΠ°ΡΡΒ» ΠΈΠ· Π΅Π³ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ β Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Git Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Git Π²Π»ΠΈΡΠ΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π° Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΏΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ
ΠΠΎΠΌΠΌΠΈΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΡΡΠΎΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add ).
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ commit Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΡΠΎΠ΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ commit
ΠΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π·Π΅Π»Π΅Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ Β«new file: hello.py Β» ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» hello.py Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠΎΠΌΠΌΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ (Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΡΠ΅Π· git config ) Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅:
ΠΡΠΎΠ±ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git Π½Π΅Ρ, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄Π»ΠΈΠ½ΠΎΠΉ Π΄ΠΎ 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΈ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΠ΅ΠΌΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠ°. ΠΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ΅Π»ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ. Π’Π°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΏΠΈΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ amend)
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ hello.py ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π½Π΅ΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ» hello.py Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π‘Π½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΆΠ΅ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅. ΠΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ.
Π Π΅Π·ΡΠΌΠ΅
ΠΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² SVN ΠΈ Π² Git ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΠ°. ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π² Git, ΠΈΠΌΠ΅Ρ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ SVN, Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git β ΠΏΡΠΎΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΡΡΠΎ. Π SVN ΠΊΠΎΠΌΠΌΠΈΡ β ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Git ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈ ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
ΠΠΎΡΠΎΠ²Ρ ΠΈΠ·ΡΡΠΈΡΡ Git?
ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ.
ΠΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ, Π° Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ
Git ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π·Π°ΠΏΡΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°ΡΡΠΊΠ°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π²ΠΎΠ΄ΡΡ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² «ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ » ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ git cherry-pick ΠΈΠ»ΠΈ git rebase. ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΎΠΏΡΡΡ, ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Π° ΠΏΡΡΠ°Π½ΠΈΡΡ β ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΎΠ²Π°ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, Π° ΡΠ½ΠΈΠΌΠΊΠΈ! Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Git ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄Π½ΡΡΡ Π·Π°Π½Π°Π²Π΅Ρ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ·ΡΡΠΈΠ² ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ git cherry-pick ΠΈ git rebase.
ΠΡΠ»ΠΈ Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ, ΡΠΈΡΠ°ΠΉΡΠ΅ Π³Π»Π°Π²Ρ ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ Git (Git internals) ΠΊΠ½ΠΈΠ³ΠΈ Pro Git. Π― Π±ΡΠ΄Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ git/git Π²Π΅ΡΡΠΈΠΈ v2.29.2. ΠΡΠΎΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π° ΠΌΠ½ΠΎΠΉ, ΡΡΠΎΠ±Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ.
Π₯Π΅ΡΠΈ β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ Git-ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Git ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (OID Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ), Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ.
ΠΡ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ OID Π΄Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΠΎΡΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π‘ΡΡΠΎΠΊΠ° ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΠΌΠ΅Π» ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΉ Ρ Π½Π΅ΠΉ OID. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ OID, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ΅ OID.
ΠΠ»ΠΎΠ±Ρ β ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π»ΠΎΠ±Ρ β ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°. Π§ΡΠΎΠ±Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ OID ΡΠ°ΠΉΠ»Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ git rev-parse HEAD:
ΠΡΠ»ΠΈ Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΠ°ΠΉΠ» README.md Π½Π° ΠΌΠΎΡΠΌ Π΄ΠΈΡΠΊΠ΅, ΡΠΎ git status ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, ΠΈ Ρ ΡΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠΎΠ³Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ OID Π² HEAD:README.md, git status ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠ°ΠΉΠ»Π΅ ΠΊΠ°ΠΊ ΠΎ «ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π½Π° Π΄ΠΈΡΠΊΠ΅». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΈΠ΄Π½ΠΎ, ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π² HEAD.
ΠΠ΅ΡΠ΅Π²ΡΡ β ΡΡΠΎ ΡΠΏΠΈΡΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π±Π»ΠΎΠ±Ρ Ρ ΡΠ°Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, Π½ΠΎ Π½Π΅ Π΅Π³ΠΎ ΠΈΠΌΡ. ΠΠΌΠ΅Π½Π° Π±Π΅ΡΡΡΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Git β Π΄Π΅ΡΠ΅Π²ΡΠ΅Π². ΠΠ΅ΡΠ΅Π²ΠΎ β ΡΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΠ΅ΠΉ Π² ΠΏΠ°ΡΠ΅ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ OID Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΡΠΈ. ΠΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π², ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π΅ΡΠ΅Π²ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ!
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΡΠ°ΡΠ½ΡΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΡ β Π½Π°ΡΠΈ Π±Π»ΠΎΠ±Ρ, Π° ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ β Π΄Π΅ΡΠ΅Π²ΡΡ.
ΠΠ΅ΡΠ΅Π²ΡΡ Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ΄ΠΏΡΠ½ΠΊΡΡ ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»Ρ Π² Unix, ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (blob ΠΈΠ»ΠΈ tree) ΠΈ OID ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΡ Π²ΡΡΠ΅Π·Π°Π΅ΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· 15 Π²Π΅ΡΡ Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ grep, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Π² ΡΡΠΎΠΌ Π΄Π΅ΡΠ΅Π²Π΅ Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ README.md, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ OID Π±Π»ΠΎΠ±Π°.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΡΠ΅ΠΉ Π΄Π΅ΡΠ΅Π²ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π±Π»ΠΎΠ±Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΡΡΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΈΠ΄ΡΡ Π² ΠΏΠ°ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡΡΠ΅ΠΉ, Π½ΠΎ ΠΌΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°Ρ .
Π‘Π°ΠΌΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ, Π³Π΄Π΅ Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎΠ½ΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ, ΡΠΎ Π΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΄Π΅ΡΠ΅Π²ΠΎ β ΡΠΎΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ΅ΡΠ΅Π²ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ ^
ΠΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ ΡΠ½Π°ΠΏΡΠΎΡΡ
ΠΠΎΠΌΠΌΠΈΡ β ΡΡΠΎ ΡΠ½ΠΈΠΌΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ²ΠΎΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ½ΠΈΠΌΠΊΠ°.
Π ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌ. ΠΠΎΠΌΠΌΠΈΡ Π±Π΅Π· ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ β ΡΡΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π° ΠΊΠΎΠΌΠΌΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ β ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠΎΠΌΠΌΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π°Π²ΡΠΎΡΠ° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠ° (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠΌΡ, Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈ Π΄Π°ΡΡ) ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° β ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠΌΠΈΡ Π² v2.29.2 Π² Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΡΠ΅Π»ΠΈΠ·, ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ½ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½, Π° Π΅Π³ΠΎ Π°Π²ΡΠΎΡ β ΡΠ»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Git.
ΠΠ°Π³Π»ΡΠ½ΡΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡΡΠ΅ Π² ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ git log, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΎΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ.
ΠΡΡΠ³ΠΈ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°Ρ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ:
ΠΠ²Π°Π΄ΡΠ°ΡΡ β ΡΡΠΎ Π±Π»ΠΎΠ±Ρ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°.
Π’ΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ β ΡΡΠΎ Π΄Π΅ΡΠ΅Π²ΡΡ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ.
ΠΡΡΠ³ΠΈ β ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π‘Π½Π°ΠΏΡΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ΅ΡΠ²ΠΈ β ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
Π Git ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ Π²Π½ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ OID. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Π΅ΡΠ²ΠΈ Π΄Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ Π½Π°Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠ΅ΡΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ main β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΠ»ΠΊΠ° Π² Git, ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ refs/heads/main. Π€Π°ΠΉΠ»Ρ ΡΡΡΠ»ΠΎΠΊ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° OID ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Git-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΠΌΠΌΠΈΡΡ, Π΄Π΅ΡΠ΅Π²ΡΡ ΠΈ Π±Π»ΠΎΠ±Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ (ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½Ρ), ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ·ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ Ρ ΡΡ ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎΠ²ΡΠΉ OID ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ!
ΠΠ±ΡΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½Π°
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ. ΠΠ΅ΡΠ²ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΠΌΠΌΠΈΡΡ β Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ, Π΄Π΅ΡΠ΅Π²ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π±Π»ΠΎΠ±Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ, Π° Π±Π»ΠΎΠ±Ρ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½ΠΈ Π½Π° ΡΡΠΎ. ΠΠΎΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠ°Π·Ρ:
ΠΡΠ΅ΠΌΡ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. Π‘ΡΡΠ΅Π»ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΈΠ΄ΡΡ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΎΠ΄Π½ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ. HEAD ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π·Π΄Π΅ΡΡ Π½Π° Π²Π΅ΡΠΊΡ main, Π° main ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ°ΠΌΡΠΉ Π½Π΅Π΄Π°Π²Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΡΠ½Π΅Π²ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ°ΡΠΊΠΈΠ½ΡΠ»ΠΎΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ Π½ΠΈΠΌ, Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² Π΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΡΠ΅Π»ΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΡΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π²! ΠΡΠΈ Π΄Π΅ΡΠ΅Π²ΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎ ΠΈΡ OID (ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅), ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Git ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π΅ΡΠ΅Π²ΠΎ Ρ Π΅ΡΠ΅ΠΉ.
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ: ΠΎΠ½ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°!
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ, ΠΌΡ ΡΠ°ΡΡΠΎ ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ Π² Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π½Π° GitHub ΠΊΠ°ΠΊ diff. ΠΠ° ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ Π΄Π΅Π»Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΡΠ°ΡΡΠΎ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΠ΅. Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ· Π΄Π°Π½Π½ΡΡ ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΡΡΡΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΡΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ. Git ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π²Π½ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ, Π½ΠΎ ΠΈ Π΄Π²Π° Π»ΡΠ±ΡΡ ΡΠ½ΠΈΠΌΠΊΠ° Π²ΠΎΠΎΠ±ΡΠ΅.
Π§ΡΠΎΠ±Ρ ΡΡΠ°Π²Π½ΠΈΡΡ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ°ΡΠ΅ΠΌ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠΈΡΠΊ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ, ΡΠ»Π΅Π΄ΡΡ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΡΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ OID.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ docs, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΈΡ . ΠΡΠΈ Π΄Π΅ΡΠ΅Π²ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ M.md, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π²Π° Π±Π»ΠΎΠ±Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅. ΠΠ½ΡΡΡΠΈ docs N.md ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌΡ Π΄Π΅ΡΠ΅Π²Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΠΈΠ΄ΠΈΡ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ things ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ OID, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π·Π°ΠΏΠΈΡΠΈ README.md.
ΠΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ things Π½Π΅ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π°, Π° Π·Π½Π°ΡΠΈΡ, Π½Π΅ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΡΠ΅ΠΉ Ρ ΡΠ°Π·Π½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΡΠ±ΡΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ. ΠΠΎΡΠ΅ΠΌΡ ΡΠΎΠ³Π΄Π° ΡΡΠΎΡ ΡΠ°ΠΊΡ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½? ΠΠΎΡΠ΅ΠΌΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°ΡΡΠΊΠ°ΡΡΡΡ Π½Π° ΠΈΠ΄Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ β ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅?
ΠΠ΄Π½Π° ΠΈΠ· ΠΌΠΎΠΈΡ Π»ΡΠ±ΠΈΠΌΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΉ β Π΄ΡΠ°Π»ΠΈΠ·ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΊΠ°ΠΊ Π΄ΡΠ°Π»ΠΈΠ·ΠΌ ΡΠ°ΡΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ½ΠΈΠΌΠΊΠΈ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° β ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠΈΡ. Π‘ΡΡΡ Π΄Π΅Π»Π° Π² Π΄ΡΡΠ³ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Git-ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ β Π² ΠΏΠ°ΡΡΠ°Ρ .
ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, Π° ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΡΡ?
ΠΠ°ΡΡ β ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π³Π΄Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ. ΠΠ°ΡΡΠΈ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΠΌΡΡ ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git. ΠΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ Git.
ΠΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ΅Π½Π½ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ diff. ΠΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠ²Π°: Π½Π΅ΠΊΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ°, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠ΅Π³ΠΎΡΡ ΠΎΡ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
Git ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΏΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git format-patch. ΠΠ°ΡΠ΅ΠΌ ΠΏΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½ ΠΊ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git apply. Π ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π½ΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΠΌΠ΅Π½Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π», Π½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° ΠΎΠ±ΠΌΠ΅Π½ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ.
Π‘Π°ΠΌΠ°Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ, Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ°ΡΡ ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ² Ρ Π²Π°ΡΠΈΠΌ HEAD. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅, ΠΈΠ·-Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅Ρ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ! ΠΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Git Π΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° «Π°Π²ΡΠΎΡΠ°», ΠΈ «ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠ°».
Π‘Π°ΠΌΠ°Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ°ΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ. ΠΠΎΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
ΠΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ Ρ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ»Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Git ΠΊΠ°ΠΊ «ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²». ΠΠ° ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ Π΄Π΅Π»Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ git cherry-pick?
ΠΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ HEAD.
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° β HEAD.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ HEAD Π² ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΌΡ Π½Π΅ «ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π»ΠΈ» ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» ΠΏΠΎΠ²Π΅ΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ HEAD, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈ Π΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ diff ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
Π ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ git rebase?
ΠΠΎΠΌΠ°Π½Π΄Π° git rebase β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΈΡΡΠΎΡΠΈΡ. Π ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ git cherry-pick, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° rebase ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git cherry-pick Π² ΡΡΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ ΡΡΠ°ΡΡΡ . Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΡΠ°Π·Π½ΡΠΌΠΈ OID, Π½ΠΎ ΡΡ ΠΎΠΆΠΈΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· ΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ HEAD Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ target. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ git rebase target, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² A, B, ΠΈ C, Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Ρ Π±Π°Π·Π° P. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ²Π΅ΡΡ target ΠΎΠ½ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ cherry-pick, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ A’, B’ ΠΈ C’.
ΠΠΎΠΌΠΌΠΈΡΡ A’, B’ ΠΈ C’ β ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΎΠ±ΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· A, B ΠΈ C, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠ½ΡΡΡΡ ΡΠ±ΠΎΡ ΠΌΡΡΠΎΡΠ°.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git range-diff ΠΌΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π΄Π²ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²! Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ rebase Π½Π° ΡΠ΅Π³ v2.29.2, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π³ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ range-diff ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ 17e7dbbcbc ΠΈ 2aa8919906 «ΡΠ°Π²Π½Ρ», Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΠ°ΡΡ. ΠΡΠΎΡΠ°Ρ ΠΏΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ: ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΊΠ° Π² README.md, ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ Π±ΡΠ»ΠΎ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠΉΡΠΈ Π²Π΄ΠΎΠ»Ρ Π΄Π΅ΡΠ΅Π²Π°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΡΡ Π΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΠ±ΠΎΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π³ v2.29.2 β Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΡΠΎ ΡΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π³ v2.28.0 β Π±ΠΎΠ»Π΅Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ, Π° Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅ΡΠΈΠΉ.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ β Π½Π΅ ΠΎΡΠ»ΠΈΡΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Git ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ?
ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π² Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Git Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π² ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: «ΠΡΠΊΡΠ΄Π° Git Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅?»
Git Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ. Π Π½ΡΠΌ Π½Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΠ»Π° Π±Ρ Π·Π°ΠΏΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ ΠΈΠΌΠ΅Π»ΠΎ ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Git ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ. ΠΡΡΡ Π΄Π²Π° ΡΡΠ°ΠΏΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ: ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Git ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² Π΄ΡΡΠ³ΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠ΅. Git ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ.
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ OID Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΠΏΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΈΡ ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. Π’Π°ΠΊΠΈΠ΅ ΡΠΎΡΠ½ΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΏΠ°ΡΡ.
ΠΡΠΎΡΠ°Ρ ΡΡΠ°Π΄ΠΈΡ β Π΄ΠΎΡΠΎΠ³Π°Ρ ΡΠ°ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ: ΠΊΠ°ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ? ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡ ΠΎΠΆΠ΅ΡΡΠΈ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠΎΠΊ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ, ΡΡΠΎ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 50 % ΠΎΠ±ΡΠΈΡ ΡΡΡΠΎΠΊ, Π·Π°ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΡΠΈ ΠΏΠ°ΡΡ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅.
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅Ρ A * D ΡΠ°Π·Π»ΠΈΡΠΈΠΉ, Π³Π΄Π΅ A β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ D β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΉ, ΡΠΎ Π΅ΡΡΡ Ρ Π½Π΅Π³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ! Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, Git ΠΏΡΠΎΠΏΡΡΡΠΈΡ ΡΠ°ΡΡΡ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π΅ΡΠ»ΠΈ A + D Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π»ΠΈΠΌΠΈΡΠ°. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΈ diff.renameLimit Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΠ² diff.renames.
Π― Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Π² ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠΊΠ½ΡΠ» VFS for Git, ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ Scalar ΠΈ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»Π°. Π₯ΠΎΡΠ΅Π»ΠΎΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΉ Π² VFS for Git, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΠΎΡΡΠΎΡΠ» ΠΈΠ· Π΄Π²ΡΡ ΡΡΠ°ΠΏΠΎΠ²:
, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π½ΠΈΡ.
Π― ΡΠΎΠΊΡΠ°ΡΠΈΠ» Π²ΡΠ²ΠΎΠ΄: Π΄Π²Π° ΡΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Scalar/CommandLine/ScalarVerb.cs, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΡΡ GVSF/GVFS/CommandLine/GVFSVerb.cs, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Git ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π» ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠ° fb3a2a36 [RENAME] Rename all files.
ΠΠ΅ ΠΎΠ±ΠΌΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ β ΡΡΠΎ ΡΠ½Π°ΠΏΡΠΎΡΡ, Π° Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ! ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Git.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π²ΠΎΠΎΡΡΠΆΠ΅Π½Ρ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Git. ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠ°Ρ Ρ Π²Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, frontend, backend, ΠΈΠ»ΠΈ Π²ΠΎΠ²ΡΠ΅ fullstack β Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Git’Π° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Π ΠΊ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡ Π·Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ° ΠΈΠ»ΠΈ Π²ΠΎΠ²ΡΠ΅ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ΅ΡΡ.
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ ΠΈΡ Ρ Π½ΡΠ»Ρ: