ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Git

Π­Ρ‚Π° страница содСрТит основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² GitVerse, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ, Ρ‚Π΅Π³Π°ΠΌΠΈ, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ управлСния Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

branch

Π’Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ

git rev-parse --abbrev-ref HEAD

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°:

master

Π’Ρ‹Π²ΠΎΠ΄ списка всСх Π²Π΅Ρ‚ΠΎΠΊ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git branch

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π³Π΄Π΅ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° (*) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

* master
  feature
  bugfix

Π’Ρ‹Π²ΠΎΠ΄ списка Π²Π΅Ρ‚ΠΎΠΊ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git branch -r

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°:

  origin/CICD_branch_protection_demo
  origin/HEAD -> origin/master
  origin/demo
  origin/master
  origin/secretsDemo
  origin/test5

Π‘Ρ‚Ρ€Π΅Π»ΠΎΡ‡ΠΊΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, какая Π²Π΅Ρ‚ΠΊΠ° являСтся HEAD (Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π°) Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

origin ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» склонирован Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΠ½ автоматичСски называСтся origin. Π­Ρ‚ΠΎΡ‚ псСвдоним ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обращСния ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (git pull), ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (git push) ΠΈ просмотр ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ (git branch -r).

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ локально

git branch -d <branch_name>

checkout

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ

git checkout -b <new_branch>

cherry-pick

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git log. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ отобразятся Ρ…ΡΡˆΠΈ послСдних Ρ‚Ρ€Π΅Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

git log -3 --oneline

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅:

git cherry-pick <commit-hash>

commit

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ созданиС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° c сообщСниСм Π² ΠΎΠ΄Π½ΠΎΠΉ строкС

git add .
git commit -m 'тСкст сообщСния ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ'

ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚

Π—Π°ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° коммСнтария ΠΊ Π½Π΅ΠΌΡƒ:

git add .
git commit --amend

Если Π½Π΅ трСбуСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ послСднСму ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ:

git add .
git commit --amend --no-edit

config

Установка ΠΈΠΌΠ΅Π½ΠΈ ΠΈ email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ рСпозитория

git config --local user.name "John Doe"
git config --local user.email "johndoe@gitverse.ru"

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΈ email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ рСпозитория (local):

git config --local user.name
git config --local user.email

Установка ΠΈΠΌΠ΅Π½ΠΈ ΠΈ email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для всСх Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

git config --global user.name "John Doe"
git config --global user.email "johndoe@gitverse.ru"

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΈ email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для всСх Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (global):

git config --global user.name
git config --global user.email

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ всСх настроСк

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ всСх настроСк для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория (local):

git config --local --list

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… настроСк (global):

git config --global --list

diff

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ

git diff <branch1> <branch2>

fetch

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория

Команда ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория:

git fetch origin <branch_name>

Команда ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΈ сохраняСт ΠΈΡ… локально Π² Π²Π΅Ρ‚ΠΊΠ΅ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ:

git fetch origin <branch_name1>:<branch_name2>

merge

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‡Π΅ΡΡ‚ΡŒ измСнСния ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, слСдуСт ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΈΠ· Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ с измСнСниями:

git checkout <Π²Π΅Ρ‚ΠΊΠ° Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ>
git merge feature <Π²Π΅Ρ‚ΠΊΠ° с измСнСниями>

rebase

ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ процСсса rebase

Если трСбуСтся ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ процСсс rebase, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git rebase --abort

ИзмСнСниС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Для измСнСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²:

  1. ΠŸΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΠΉΡ‚Π΅ ваши Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния Π² Π²Π΅Ρ‚ΠΊΠ΅ (см. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ созданиС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°).

  2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ количСство послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² для рСдактирования:

    git rebase -i HEAD~<количСство ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²>

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° для Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

    pick 7fc8ad9 <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 1>
    pick bcdc6a6 <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 2>
    pick eab8c44 <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 3>
    pick ad904bc <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 4>
  3. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ 3 ΠΈ 4, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ pick Π½Π° r ΠΈΠ»ΠΈ Π½Π° reword ΠΈ сохранитС измСнСния:

    pick 7fc8ad9 <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 1>
    pick bcdc6a6 <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 2>
    r eab8c44 <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 3>
    reword ad904bc <ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ 4>
  4. Π”Π°Π»Π΅Π΅ Π²Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

reset

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

ΠžΡ‚ΠΌΠ΅Π½Π° всСх Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² отслСТиваСмых Ρ„Π°ΠΉΠ»Π°Ρ…:

git reset --hard
git clean -df

Команда удалСния послСдних Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

git reset --hard HEAD~2
git clean -df

ПояснСния:

  • git reset --hard: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°;
  • git reset --hard HEAD~2: ΠΎΡ‚ΠΌΠ΅Π½Π° послСдних Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²;
  • git clean -df: ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСх нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π½Π΅ находятся ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ) ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ .

pull

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

git checkout <цСлСвая Π²Π΅Ρ‚ΠΊΠ°>
git pull

Команда git pull выполняСт Π΄Π²Π° дСйствия:

  1. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git fetch, которая Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС измСнСния с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория, Π½ΠΎ Π½Π΅ примСняСт ΠΈΡ… ΠΊ вашСй локальной Π²Π΅Ρ‚ΠΊΠ΅.
  2. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git merge, которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ измСнСния, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория с вашСй локальной Π²Π΅Ρ‚ΠΊΠΎΠΉ.

push

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ:

git push

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (origin) Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ:

git push origin <branch_name>
πŸ’‘

URL ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, см. ИзмСнСниС URL ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ со всСх Π²Π΅Ρ‚ΠΎΠΊ

git push --all

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ https

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎ https ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git push https://<имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ>:<ΠΏΠ°Ρ€ΠΎΠ»ΡŒ_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ>@<URL_рСпозитория>, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

git push https://author:12345678@gitverse.ru/author/repo_example

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

  1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ URL рСпозитория.
πŸ’‘

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎ https ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ доступа, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

git push https://d75758089e1c844a14714a9310036084006d7b24@gitverse.ru/author/repo_example

Π’ΠΎΠΊΠ΅Π½ доступа ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

  1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСпозиториями.
  2. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ доступа Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
    git remote set-url origin https://d75758089e1c844a14714a9310036084006d7b24@gitverse.ru/author2/packages_examples.git
    Π“Π΄Π΅:
    • d75758089e1c844a14714a9310036084006d7b24 β€” Ρ‚ΠΎΠΊΠ΅Π½ доступа;
    • author2 β€” имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ;
    • packages_examples.git β€” Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  3. Π”Π°Π»Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π°, Π»ΠΎΠ³ΠΈΠ½Π° ΠΈΠ»ΠΈ пароля Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π½Π΅ потрСбуСтся.

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ истории Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅

git push --force
⚠️

Команда git push --force ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ссли ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ сдСлали измСнСния Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠ΅.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° сСрвСрС

git push origin --delete <branch_name>

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‚Π΅Π³Π° Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git push origin <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ тэга>

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π° ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория

git push --delete origin <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ тэга>

tag

Команда git tag ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Π³Π°ΠΌΠΈ. Π’Π΅Π³ΠΈ Π² Git - это статичСскиС ссылки Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. Они ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π² истории рСпозитория.

Бписок Ρ‚Π΅Π³ΠΎΠ² Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git tag

Бписок Ρ‚Π΅Π³ΠΎΠ² Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git ls-remote --tags origin

ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ с Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ

git tag -a <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°> -m "<тСкст Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ>"

ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π° со стандартной Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ

git tag <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°>

ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ‚Π΅Π³Ρƒ

git tag -a -f <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°> -m "<тСкст Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ>"

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‚Π΅Π³Π° Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git push origin <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°>

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‚Π΅Π³Π° Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ c ΠΎΠΏΡ†ΠΈΠ΅ΠΉ force

git push origin <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°> --force

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π° ΠΈΠ· локального ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория

git tag -d <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ тэга>
git push --delete origin <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ тэга>

Π§Ρ‚ΠΎ дальшС

Π’Ρ‹ нашли Ρ‡Ρ‚ΠΎ искали?