Шпаргалка по Git на каждый день
#testing #git
Система контроля версий Git применяется на многих современных проектах. Знать и уметь с ней работать - это уже must-have не только для разработчика, но и для тест инженера.
И это не только касается автоматизации тестирования - можно же просто клонировать и запустить разные библиотеки с Github, посмотреть исходный код приложения и его тесты.
Мало кто задумывался, но Git по факту представляет собой распределенную систему реплицированного лога.
Git имеет достаточно широкий набор команд. Но базово, нужно знать и уметь совсем немного. Для кого-то удобнее работать с Git через IDE, но для “старой гвардии” - приведу шпаргалку базовым командам на каждый день.
- git init Создает новый репозиторий в текущей папке.
- git clone Клонирует репозиторий в текущую папку
- git add (git add -A) Добавляет файлы в текущий коммит
- git commit -m “Commit message” Позволяет сохранить текущее состояние репозитория в виде коммита с определенным сообщением.
- git log. Получить историю коммитов в репозитории.
- git pull origin branch_name Синхронизирует состояние ветки локального репозитория с remote.
- git push origin branch_name Отправляет локальные изменения в текущей ветке на сервер.
- git branch Позволяет работать с ветками: выводить список текущих веток и создавать или удалять их.
- git checkout branch_name Переход из текущей ветки в указанную branch_name. git checkout -b branch_name - позволяет создать новую ветку и сразу перейти в нее.
- git fetch Обновляет сведения об изменениях в remote.
- git rebase branch_name (или в отдельных случаях git merge). Сливает изменения с branch_name в текущую ветку. О том, в разница между merge и rebase - тут.
- git reset —hard Отменить все изменения в локальном репозитории и вернуться к исходному коммиту.
Базовый набор действий с Git в виде иллюстраций можно посмотреть в моем блоге.
#testing #git
Система контроля версий Git применяется на многих современных проектах. Знать и уметь с ней работать - это уже must-have не только для разработчика, но и для тест инженера.
И это не только касается автоматизации тестирования - можно же просто клонировать и запустить разные библиотеки с Github, посмотреть исходный код приложения и его тесты.
Мало кто задумывался, но Git по факту представляет собой распределенную систему реплицированного лога.
Git имеет достаточно широкий набор команд. Но базово, нужно знать и уметь совсем немного. Для кого-то удобнее работать с Git через IDE, но для “старой гвардии” - приведу шпаргалку базовым командам на каждый день.
- git init Создает новый репозиторий в текущей папке.
- git clone Клонирует репозиторий в текущую папку
- git add (git add -A) Добавляет файлы в текущий коммит
- git commit -m “Commit message” Позволяет сохранить текущее состояние репозитория в виде коммита с определенным сообщением.
- git log. Получить историю коммитов в репозитории.
- git pull origin branch_name Синхронизирует состояние ветки локального репозитория с remote.
- git push origin branch_name Отправляет локальные изменения в текущей ветке на сервер.
- git branch Позволяет работать с ветками: выводить список текущих веток и создавать или удалять их.
- git checkout branch_name Переход из текущей ветки в указанную branch_name. git checkout -b branch_name - позволяет создать новую ветку и сразу перейти в нее.
- git fetch Обновляет сведения об изменениях в remote.
- git rebase branch_name (или в отдельных случаях git merge). Сливает изменения с branch_name в текущую ветку. О том, в разница между merge и rebase - тут.
- git reset —hard Отменить все изменения в локальном репозитории и вернуться к исходному коммиту.
Базовый набор действий с Git в виде иллюстраций можно посмотреть в моем блоге.
Atlassian
Сравнение слияния и перебазирования | Atlassian Git Tutorial
Сравнение команды git rebase с похожей командой git merge и описание всех потенциальных возможностей для включения операции rebase в стандартный процесс Git
❤1
Under The Hood: How Git works?
#git #testing
На вихідних я читав деякі книжки та дослідницькі роботи щодо консенсусу у розподілених системах.
А ще - я переклав свою статтю про Git - англійською. Може вона стане Вам у пригоді та допоможе трохи глибше зрозуміти цей інструмент.
#git #testing
На вихідних я читав деякі книжки та дослідницькі роботи щодо консенсусу у розподілених системах.
А ще - я переклав свою статтю про Git - англійською. Може вона стане Вам у пригоді та допоможе трохи глибше зрозуміти цей інструмент.
Test Engineering Notes
Under The Hood: How Git works?
Digging deep into how Git works
👍6🔥2
Нотатки з Git від Julie Evans
#tools #git
-
-
-
-
-
Коли закомітили не в ту гілку:
-
-
-
-
Коли закоммітили зайвий файл:
-
-
Коли хочеться прибрати один комміт в минулому:
- знайдіть SHA комміту
-
- введіть нове ім'я та створіть комміт
Коли потрібна "машина часу":
-
-
#tools #git
-
git reset —hard HEAD~X - відкотитись на X коммітів назад-
git diff HEAD~Y - показати, що було змінено Y коммітів назад-
git rebase -i HEAD~X - "стиснути" X коммітів в один-
git commit —amend - додати зміни до останнього комміту-
git commit —amend-no-edit - додати зміни "без питань"Коли закомітили не в ту гілку:
-
git checkout correct_branch-
git cherry-pick COMMIT_ID-
git checkout wrong-branch-
git reset —head HEAD^Коли закоммітили зайвий файл:
-
git rm —cached FILENAME-
git commit —amendКоли хочеться прибрати один комміт в минулому:
- знайдіть SHA комміту
-
git revert SHA- введіть нове ім'я та створіть комміт
Коли потрібна "машина часу":
-
git reflog-
git reset —hard HEAD{2}wizard zines
wizard zines: Oh shit, git!
❤36👍8🔥3