▍Шпаргалка по работе с Git¶
Git clone¶
Для клонирования ветки master:
git clone https://github.com/test/test.git
Для клонирования определенной ветки:
git clone https://github.com/test/test.git -b branch-name
Git checkout¶
Лучше всего не работать напрямую в master, а создавать отдельные ветки под разные опции. Как только вы решите, что все фичи соответствуют требованиям и готовы к тестированию, смело сливайте их с веткой master.
В процессе работы возникает необходимость перехода в отдельную ветку репозитория. Это можно сделать следующей командой.
Если ветка уже создана:
git checkout branch-name
Если вы создаете новую ветку опций:
git checkout -b branch-name
Git pull¶
Ваша команда или коллега-разработчик могут изменять ветки репозитория. И каждый раз перед написанием кода вы должны вливать эти изменения в ветку, с которой будете работать. Перейдите в ветку через checkout и выполните команду git pull
. Последние изменения будут влиты в локальный репозиторий.
Git add и commit¶
Команды add и commit почти всегда неразлучны. Это как захват и сохранение данных. Вы не сможете ничего сохранить, пока не захватите нужные данные. Таким образом, команда add всегда предшествует commit. С командой add вы указываете определенный файл, который требуется захватить в текущем состоянии, а commit сохраняет его копию.
Для захвата всех файлов (кроме исключений из git ignore
) понадобится git add
. Захват текущего состояния отдельно взятого файла (к примеру, index.html) делается через git add index.html
.
После создания снимков репозитория их нужно закоммитить и сохранить в локальный репозиторий. Это делается через следующую команду:
git commit -m 'commit message'
Сообщение в коммите должно пояснить специфику сохраняемых снимков. Например:
git add index.html
git commit -m 'создание кнопки формы опции'
Две команды можно объединить через оператор &&:
git add index.html && git commit -m 'создание html структуры футера'
Сохранить изменения во всех файлах:
git add -A && git commit -m 'создание html структуры футера'
Git stash и merge¶
git stash сохранит все изменения ветки, которые вы не хотите коммитить. Это значит, что вы можете ждать, пока другой разработчик закоммитит и вольет копию своих изменений в ветку, и параллельно экспериментировать с той же веткой. Git всячески это приветствует. Если вы хотите просто влить новые изменения в локальный репозиторий, но не выполнять слияния с веткой, то просто сохраните эти изменения через stash
. git stash
сохранит копию этих изменений. Их можно будет просмотреть через список git stash
.
git merge – это команда, которая сливает два разных снимка репозитория. Вы можете сливать разные снимки изменений одной и той же ветви, сделанные разными разработчиками. Либо же можно сливать разные снимки разных веток.
При переходе в ветку master команда git merge
сливает ветку dev с master и наоборот.
Git push¶
git push отправляет локальный репозиторий на сервер, доступный другим пользователям.
git push -u origin branch-name
Сохранить логин и пароль от репозитория¶
Чтобы каждый раз не вводить данные авторизации, необходимо добавить: