Skip to content

MaxGPortfolio/git-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 

Repository files navigation

πŸš€ ПолноС руководство ΠΏΠΎ Git ΠΈ GitHub

πŸ’¬ Π›ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с систСмой контроля вСрсий Git ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ GitHub.
ПолСзно ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠΈ собствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².


🧩 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

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

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub
  2. Π‘Π²ΡΠ·Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:
    git remote add origin https://github.com/username/repo.git
    git branch -M main
    git push -u origin main
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ связь:
    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 (ΠΏΠΎ ТСланию)

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_

About

My Git notes and commands

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published