Этот пост представляет собой шпаргалку по Git с наиболее распространенными командами Git, которые вы, вероятно, будете использовать ежедневно.
Если вы технический тестировщик, работающий вместе с разработчиками, вы должны быть знакомы с основными командами Git.
Этот пост содержит достаточно знаний о Git, чтобы вы могли выполнять повседневную работу в качестве QA.
Если на вашем компьютере не установлен Git, вы можете выполнить действия, описанные в Как установить Git на Mac и сгенерировать ключи SSH .
Создайте пустой репозиторий git или повторно инициализируйте существующий
$ git init
Клонируйте репозиторий foo в новый каталог с именем foo:
$ git clone https://github.com//foo.git foo
Если вы хотите поработать над новой функцией, вы обычно создаете новую ветку в Git. Таким образом, вы обычно хотите держаться подальше от основной ветки и работать над своими собственными ветвями функций, чтобы мастер всегда был чистым, и вы могли создавать из него новые ветки.
Чтобы создать новую ветку, используйте:
$ git checkout -b
Если вы хотите узнать, какие ветки доступны в вашем рабочем каталоге, используйте:
$ git branch
Пример вывода:
develop my_feature master
Когда вы создаете новую ветку, Git автоматически переключается на новую ветку.
Если у вас несколько веток, вы можете легко переключаться между ветвями с помощью git checkout:
$ git checkout master $ git checkout develop $ git checkout my_feature
Чтобы удалить локальную ветку:
$ git branch -d
Используйте -D
флаг опции, чтобы заставить его.
Чтобы удалить удаленную ветку в источнике:
$ git push origin :
Связанный:
К сцена файл - это просто подготовить его к фиксации. Когда вы добавляете или изменяете некоторые файлы, вам необходимо поместить эти изменения в «промежуточную область». Думайте о постановке как о коробке, в которую вы кладете вещи, прежде чем сунуть ее под кровать, где ваша кровать - это хранилище коробок, в которые вы ранее сунули.
Чтобы подготовить или просто добавить файлы, вам нужно использовать команду git add. Вы можете создать отдельные файлы:
$ git add foo.js
или все файлы сразу:
$ git add .
Если вы хотите удалить определенный файл со сцены:
$ git reset HEAD foo.js
Или удалите все поставленные файлы:
$ git reset HEAD .
Вы также можете создать псевдоним для команды, а затем использовать его с Git:
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
Если вы хотите увидеть, какие файлы были созданы, изменены или удалены, Git status покажет вам отчет.
$ git status
Часто совершать коммит - хорошая практика. Вы всегда можете отказаться от своих коммитов перед толчком. Перед тем, как зафиксировать изменения, их необходимо подготовить.
Для команды фиксации требуется опция -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 --set-upstream origin
После этого вы можете просто использовать
$ git push
Чтобы переместить локальную ветку в другую удаленную ветку, вы можете использовать:
$ git push origin :
Если вам нужно отменить последнее нажатие, вы можете использовать:
$ git reset --hard HEAD~1 && git push -f origin master
Когда вы используете git fetch
, Git не объединяет другие коммиты с вашей текущей веткой. Это особенно полезно, если вам нужно поддерживать репозиторий в актуальном состоянии, но вы работаете над чем-то, что может сломаться, если вы обновите свои файлы.
Чтобы интегрировать коммиты в основную ветку, вы используете merge
.
$ git fetch upstream
Извлечение - это просто выборка, за которой следует слияние. Когда вы используете git pull
, Git автоматически объединяет другие коммиты, не позволяя вам предварительно их просмотреть. Если вы плохо управляете своими филиалами, вы можете часто сталкиваться с конфликтами.
Если у вас есть ветка my_feature
и вы хотите вытащить эту ветку, вы можете использовать:
$ git pull origin/my_feature
Или, если вы хотите вытащить все и все другие ветки
$ git pull
Когда вы запустите 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:
$ git stash
Теперь, если вы хотите отключить эти изменения и вернуть их в рабочий каталог, используйте:
$ git stash pop