π¬ ΠΠΈΡΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ GitHub.
ΠΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
Git β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
 ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΡΠΌ Π²Π΅ΡΡΠΈΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
GitHub β ΡΡΠΎ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π΄Π΅Π»ΠΈΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ.
| π§ Π’Π΅ΡΠΌΠΈΠ½ | π ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ | 
|---|---|
| Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ | Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΠΈ | 
| ΠΠΎΠΌΠΌΠΈΡ (commit) | Π‘Π½ΠΈΠΌΠΎΠΊ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° | 
| ΠΠ΅ΡΠΊΠ° (branch) | ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ | 
| Merge (ΡΠ»ΠΈΡΠ½ΠΈΠ΅) | ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ | 
| Remote (ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ) | Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GitHub) | 
| HEAD | Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ | 
| Staging area | ΠΠΎΠ½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ | 
mkdir my-project
cd my-project
git initΠ’Π΅ΠΏΠ΅ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΊΡΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ .git β ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
 Git.
| ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» | git add file.txt | ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» | 
| ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΡ | git add . | ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ | 
| Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ | git commit -m "ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅" | ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ | 
| ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ | git status | ΠΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ | 
| ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ | git log --oneline | ΠΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | 
git branch           # ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΠΊΠΈ
git branch dev       # ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ
git checkout dev     # ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½Π΅Ρ
git merge dev        # ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ
git branch -d dev    # ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡπ‘ ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β main.
ΠΡΠ»ΠΈ Π²Π΅ΡΠΊΠΈ ΡΠ°ΡΡ ΠΎΠ΄ΡΡΡΡ, Git ΡΠΎΠ·Π΄Π°ΡΡ merge-ΠΊΠΎΠΌΠΌΠΈΡ:
git merge featureΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° β ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ.
Git ΠΏΠΎΠΌΠ΅ΡΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°:
<<<<<<< HEAD
ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ
=======
Π²Π΅ΡΡΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
>>>>>>> feature
Π’Ρ ΡΠ΅ΡΠ°Π΅ΡΡ Π²ΡΡΡΠ½ΡΡ, ΡΡΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ, ΠΈ Π΄Π΅Π»Π°Π΅ΡΡ git add + git commit.
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub
- Π‘Π²ΡΠ·Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ:
git remote add origin https://github.com/username/repo.git git branch -M main git push -u origin main 
- ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΡΠ·Ρ:
git remote -v 
| ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | ΠΠΎΠΌΠ°Π½Π΄Π° | 
|---|---|
| Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ | git pull origin main | 
| Π’ΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°ΡΠ°ΡΡ (Π±Π΅Π· merge) | git fetch origin | 
| ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π½ΠΈΡΡ | git diff | 
git reset file.txt           # ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°
git reset --soft HEAD1      # ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
git reset --hard HEAD1      # ΠΎΡΠΊΠ°ΡΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ
git rm file.txt              # ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git status git add . git commit -m "ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" git push origin main
ssh-keygen -t ed25519 -C "your_email@example.com" pbcopy < ~/.ssh/id_ed25519.pub
ΠΠΎΠ±Π°Π²Ρ ΠΊΠ»ΡΡ Π² GitHub β Settings β SSH and GPG keys.
β
 ΠΠΈΡΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
β
 ΠΠ΅Π»Π°ΠΉ git pull ΠΏΠ΅ΡΠ΅Π΄ git push
β
 ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ²
β
 ΠΠΎΠ±Π°Π²Π»ΡΠΉ .gitignore, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
git init git add . git commit -m "first commit" git branch -M main git remote add origin https://github.com/username/repo.git git push -u origin main
---
_ΠΠ²ΡΠΎΡ: Max β Π»ΠΈΡΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎ Git ΠΈ GitHub_