Коротко, чтобы было куда быстро посмотреть, планирую дополнять текст.
Настройка
Перед тем, как начать пользоваться Git на компьютере:
$ git config --global user.name "Никнейм"
$ git config --global user.email mail@домен.com
Начало
Иницилизация локального репозитория в том каталоге, где находитесь:
git init
Создаем новый репозиторий на удаленном сервере.
Подключение удаленного репозитория и выгрузка туда файлов:
git remote add origin git@bitbucket.org:пользователь/репозиторий.git
git push -u origin master
Изменение удаленного репозитория:
git remote set-url origin git@bitbucket.org:пользователь/репозиторий.git
Ветки
Просмотр имеющихся веток:
git branch
Звездочкой помечана активная.
Ветка master
создается по умолчанию и является основной.
Создание новой ветки:
git branch название_ветки
Переключение на ветку:
git checkout название_ветки
Удаление локальной ветки:
git branch -d название_ветки
Удаление удаленной ветки:
git push origin -d название_ветки
Кодинг
Меняем что-нибудь в активной ветке. Для сохранения изменений:
git commit -a
Если есть неотслеживаемые файлы, то предварительно:
git add -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