Памятка по Git

d1mon
12 сентября, 08:08

Коротко про самое нужное.

Начало

Иницилизация локального репозитория в том каталоге, где находитесь:

git init

Создаем новый репозиторий на удаленном сервере.

Подключение удаленного репозитория и выгрузка туда файлов:

git remote add origin git@bitbucket.org:пользователь/репозиторий.git
git push -u origin master

Ветки

Просмотр имеющихся веток:

git branch

Звездочкой помечана активная.

Ветка master создается по умолчанию и является основной.

Создание новой ветки:

git branch название_ветки

Переключение на ветку:

git checkout название_ветки

Удаление локальной ветки:

git branch -d название_ветки

Удаление удаленной ветки:

git push origin -d название_ветки

Кодинг

Меняем что-нибудь в активной ветке. Для сохранения изменений:

git commit -a

Слияние

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

git merge название_ветки

Если никаких конфликтов нет, то процесс можно считать завершенным.

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

git diff

Редактируем файлы, устраняем конфликты.

Если конфликтов не было или вы их уже исправили, фиксируем изменения:

git commit -a

Переключение с HTTPS на SSH

Проверка статуса:

git remote -v

Если удаленный репозиторий https, то получим:

origin	https://пользователь@bitbucket.org/пользователь/репозиторий.git (fetch)
origin	https://пользователь@bitbucket.org/пользователь/репозиторий.git (push)

Идем в панель Bitbucket (или что там у вас) и смотрим ссылку для клонирования по ssh.

Там будет такое:

git clone git@bitbucket.org:пользователь/репозиторий.git

Переключаем на ssh, вписывая свои данные:

git remote set-url origin git@bitbucket.org:пользователь/репозиторий.git

Можно повторно проверить статус, чтобы убедиться, что там уже ssh данные.

Полезное

Изменение прав на файлы и каталоги — это по умолчанию воспринимается, как изменения в репозитории. Чтобы игнорировать изменения такого рода следует выполнить в каталоге репозитория команду:

git config core.filemode false

Комментарии