Перейти к содержанию

▍Шпаргалка по работе с 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

Сохранить логин и пароль от репозитория

Чтобы каждый раз не вводить данные авторизации, необходимо добавить:

nano ~/.netrc
machine github.com
       login <user>
       password <password>
К началу