Команды Git, которые должен знать каждый тестировщик

Этот пост представляет собой шпаргалку по Git с наиболее распространенными командами Git, которые вы, вероятно, будете использовать ежедневно.

Если вы технический тестировщик, работающий вместе с разработчиками, вы должны быть знакомы с основными командами Git.

Этот пост содержит достаточно знаний о Git, чтобы вы могли выполнять повседневную работу в качестве QA.


Если на вашем компьютере не установлен Git, вы можете выполнить действия, описанные в Как установить Git на Mac и сгенерировать ключи SSH .



Начальная настройка Git

Инициализировать репо

Создайте пустой репозиторий git или повторно инициализируйте существующий


$ git init

Клонировать репо

Клонируйте репозиторий foo в новый каталог с именем foo:

$ git clone https://github.com//foo.git foo

Git Branch

Как создать новую ветку в Git

Если вы хотите поработать над новой функцией, вы обычно создаете новую ветку в Git. Таким образом, вы обычно хотите держаться подальше от основной ветки и работать над своими собственными ветвями функций, чтобы мастер всегда был чистым, и вы могли создавать из него новые ветки.

Чтобы создать новую ветку, используйте:

$ git checkout -b

Как вывести список веток в Git

Если вы хотите узнать, какие ветки доступны в вашем рабочем каталоге, используйте:


$ git branch

Пример вывода:

develop my_feature master

Как переключать ветки в Git

Когда вы создаете новую ветку, Git автоматически переключается на новую ветку.

Если у вас несколько веток, вы можете легко переключаться между ветвями с помощью git checkout:

$ git checkout master $ git checkout develop $ git checkout my_feature

Как удалить ветки в Git

Чтобы удалить локальную ветку:


$ git branch -d

Используйте -D флаг опции, чтобы заставить его.

Чтобы удалить удаленную ветку в источнике:

$ git push origin :

Связанный:

  • Как установить git и сгенерировать ключи SSH на Mac


Git Staging

К сцена файл - это просто подготовить его к фиксации. Когда вы добавляете или изменяете некоторые файлы, вам необходимо поместить эти изменения в «промежуточную область». Думайте о постановке как о коробке, в которую вы кладете вещи, прежде чем сунуть ее под кровать, где ваша кровать - это хранилище коробок, в которые вы ранее сунули.


Файлы стадии Git

Чтобы подготовить или просто добавить файлы, вам нужно использовать команду git add. Вы можете создать отдельные файлы:

$ git add foo.js

или все файлы сразу:

$ git add .

Изменения Git Unstage

Если вы хотите удалить определенный файл со сцены:

$ git reset HEAD foo.js

Или удалите все поставленные файлы:


$ git reset HEAD .

Вы также можете создать псевдоним для команды, а затем использовать его с Git:

$ git config --global alias.unstage 'reset HEAD' $ git unstage .

Статус Git

Если вы хотите увидеть, какие файлы были созданы, изменены или удалены, Git status покажет вам отчет.

$ git status

Git коммиты

Часто совершать коммит - хорошая практика. Вы всегда можете отказаться от своих коммитов перед толчком. Перед тем, как зафиксировать изменения, их необходимо подготовить.

Для команды фиксации требуется опция -m, указывающая сообщение фиксации.

Вы можете зафиксировать свои изменения, например:

$ git commit -m 'Updated README'

Отмена коммитов

Следующая команда отменит вашу самую последнюю фиксацию и вернет эти изменения в промежуточную стадию, чтобы вы не потеряли работу:

$ git reset --soft HEAD~1

Чтобы полностью удалить фиксацию и выбросить любые изменения, используйте:

$ git reset --hard HEAD~1

Сжатие коммитов

Допустим, у вас есть 4 коммита, но вы еще ничего не нажали и хотите поместить все в одну фиксацию, тогда вы можете использовать:

$ git rebase -i HEAD~4

HEAD~4 относится к последним четырем коммитам.

-i опция открывает интерактивный текстовый файл.

Вы увидите слово «выбрать» слева от каждого коммита. Оставьте один вверху в покое и замените все остальные буквами «s» для сквоша, сохраните и закройте файл.

Затем открывается другое интерактивное окно, в котором вы можете обновить сообщения фиксации до одного нового сообщения фиксации.



Git Push

После того, как вы зафиксировали свои изменения, следует отправить их в удаленный репозиторий.

Первый толчок

Нажимаем локальную ветку в первый раз:

$ git push --set-upstream origin

После этого вы можете просто использовать

$ git push

Переместить локальную ветку в другую удаленную ветку

Чтобы переместить локальную ветку в другую удаленную ветку, вы можете использовать:

$ git push origin :

Отменить последнее нажатие

Если вам нужно отменить последнее нажатие, вы можете использовать:

$ git reset --hard HEAD~1 && git push -f origin master

Git Fetch

Когда вы используете git fetch, Git не объединяет другие коммиты с вашей текущей веткой. Это особенно полезно, если вам нужно поддерживать репозиторий в актуальном состоянии, но вы работаете над чем-то, что может сломаться, если вы обновите свои файлы.

Чтобы интегрировать коммиты в основную ветку, вы используете merge.

Получить изменения из апстрима

$ git fetch upstream

Git Pull

Извлечение - это просто выборка, за которой следует слияние. Когда вы используете git pull, Git автоматически объединяет другие коммиты, не позволяя вам предварительно их просмотреть. Если вы плохо управляете своими филиалами, вы можете часто сталкиваться с конфликтами.

Вытащить ветку

Если у вас есть ветка my_feature и вы хотите вытащить эту ветку, вы можете использовать:

$ git pull origin/my_feature

Тянуть все

Или, если вы хотите вытащить все и все другие ветки

$ git pull

Git слияние и ребазинг

Когда вы запустите git merge, ваша ветка HEAD сгенерирует новый коммит , сохраняя происхождение каждой истории фиксации.

В превышение перезаписывает изменения одной ветки на другую без создание нового коммита.

Слияние основной ветви с функциональной веткой

$ git checkout my_feature $ git merge master

Или с опцией rebase вы используете:

$ git checkout my_feature $ git rebase master

Объединить функциональную ветку с главной веткой

$ git checkout master $ git merge my_feature

Git Stash

Иногда вы вносите изменения в ветку и хотите переключиться на другую ветку, но не хотите потерять свои изменения.

Вы можете спрятать свои изменения. Вот как сделать притон в Git:

$ git stash

Теперь, если вы хотите отключить эти изменения и вернуть их в рабочий каталог, используйте:

$ git stash pop