Git
Основні команди
# Ініціалізація git-репозиторію
git init
# Перегляд журналу коммітів
git log
# Переглянути історію виконання команди
git reflog
# Перегляд поточного статусу
git status
git restore
# Додавання вмісту робочого каталогу до індексної області
git add <name> # добавити конкретний файл
git add . # добавити всі змінені файли
git restore <name>
git restore .
# Якщо файл у робочому просторі було змі нено і ці зміни є поетапними, ви можете скинути поетапні зміни за допомогою
# цієї команди
git restore --staged <name>
git restore --staged .
git commit
### git commit
git commit
git commit -m 'commit повідомлення'
# Ця команда може бути використана для переписування поточного вмісту та повідомлення комміту
git commit --amend
git commit --amend --reset-author
гілка git
# Показати всі гілки
git branch
# Показати всі віддалені гілки
git branch -r
# Створити гілку
git branch <назва_гілки>
# Видалити локальні гілки
git branch -D <branch_name>
# Змінити назву гілки
git branch -m <old_branch_name> <new_branch_name>
# Перемикання гілок
git checkout <branch_name>
# Перехід до попередньої гілки
git checkout -
# Створити гілку і переключитися
git checkout -b <name>
# Переглянути інформацію про трек гілки
git branch -vv
# Встановити висхідну гілку поточної гілки, еквівалентно --set-upstream
git branch -u origin/feature
git-тег
# Переглянути всі теґи
git tag
# позначити поточну фіксацію
git tag v1.0.1
# Позначити тегом комміт
git tag v1.0.1 <commit>
# Видалити тег
git tag --delete v1.0.1
git stash
# поетапне внесення змін до робочого простору
git stash
# переглянути вміст stash
git stash list
# відновити вміст останнього stash до робочого простору
git stash pop 0
# Видалити вміст stash
git stash clear
Злиття гілок
У git
передбачено дві стратегії об'єднання гілок: git merge
та git rebase
.
Рекомендую використовувати git rebase
для керування гілками, оскільки це дуже проста стратегія і зберігає
історію коммітів дуже чистою.
git merge
# об'єднати цільову гілку
git merge <name>
При використанні git merge
існує два сценарії злиття, fast-forward
і non-forward
, залежно від гілки.
Більшість часу при роботі з декількома людьми використовується сценарій non-fast-forward
, коли об'єднана
гілка створює новий комміт.
git rebase
### Об'єднати цільову гілку
git rebase <name>
конфлікти
Якщо ви зіткнулися з конфлі ктом коду при виконанні git rebase
, ви можете вирішити його за допомогою git add .
і git rebase --continue
для переходу до наступного кроку, або git rebase --abort
для переривання злиття,
якщо воно вам більше не потрібне.
Віддалені операції
git remote # Переглянути інформацію про віддалений репозиторій
git remote add origin <url> # Додати адрес віддаленого репозиторію
git remote remove origin # Видалити адрес віддаленого репозиторію
git clone <url> # Перетягнути віддалений репозиторій до локального
У більшості випадків наш локальний репозиторій потрібно лише пов'язати з віддаленим репозиторієм, і у цьому випадку
для представлення віддаленого репозиторію зазвичай використовується спеціальний ідентифікатор origin
.
Поширеним сценарієм є ситуація, коли ми хочемо внести код до одного зі репозиторіїв Github,
ми робимо fork
і clone
нашого репозиторію, де origin
представляє наше
власне віддалений репозиторій, зазвичай ми також вручну додаємо репозиторій за допомогою
git remote add upstream <url>
, щоб пов'язати оригінальний репозиторій з відкритим кодом з останніми оновленнями коду,
де upstream
представляє оригінальний репозиторій.