Если у вас macOS и установлены XCode или Command Line Tools, Git уже установлен.
Чтобы убедиться в этом, наберите в терминале git --version
.
$ git --version
git version 2.9.3 (Apple Git-75)
Если вы хотите установить более новую версию, есть несколько способов:
Установка через Homebrew (рекомендуемый способ)
Если вы используете Homebrew, установите Git, набрав следующую команду в консоли.
$ brew install git
Установка через Git for Mac Installer
- Скачайте Git for Mac Installer
- Запустите и следуйте инструкциям
Если у вас Windows - скачайте и установите msysgit.github.io.
Если у вас Linux, скорее всего, вы знаете что делать.
Если нет, вам помогут эти команды:
$ sudo apt-get update
$ sudo apt-get install git
-
GitHub Windows - Git-клиент с GUI от GitHub для Windows 7, 8 и 8.1.
-
GitHub Mac - Git-клиент с GUI от GitHub для Mac OS X 10.9+.
-
Git для Windows - 3 в 1: Git, bash-консоль и простой GUI-клиент.
-
SourceTree - бесплатный Git-клиент. Позволяет работать с Git без консоли в графической среде. Работает под Windows 7+ и Mac OS X 10.7+. Мультиязычное приложение. Чтобы использовать SourceTree, обязательно нужно изучить основы Git и уметь работать с ним в консоли.
Для новичков рекомендуется пройти небольшой обучающийся курс Git How To.
- Git How To — это интерактивный тур, который познакомит вас с основами Git. Тур создан с пониманием того, что лучшим способом научиться чему-нибудь — сделать это своими руками.
- Команды git - полный список команд на официальном сайте
- git - the simple guide
- Ежедневная работа с Git - статья на Хабре
- Что нам стоит Git настроить! - статья на Хабре
3.1. Стартуем проект из шаблона:
git clone --depth 1 [email protected]:CSSSR/csssr-project-template.git new-project && cd new-project
- клонируем в папкуnew-project
и переход в неё.git commit --amend --reset-author -m 'chore(project): init project'
- комментируем в соответствии с соглашением по коммитоименованию.git remote set-url origin <url>
- указываем удалённый репозиторий, где<url>
- ссылка на git-репозиторий.git push origin master
- заливаем проект в удалённый репозиторий в веткуmaster
.- Если залить не удалось, проект уже не пустой и может содержать
readme.md
, поэтому нужно сделатьrebase
:
git pull --rebase origin master
- Если есть конфликты, то см. п. 3.4.
- Заливаем снова.
git clone <url>
- клонируем проект.
git pull --rebase origin master
- обновляем веткуmaster
с ключём--rebase
, чтобы избежать промежуточных коммитов.- Если конфликтов не произошло, то пропускаем этот пункт. Если есть, то правим руками (см. п. 3.4).
- Делаем изменения в коде, например, добавляем главную страницу.
git add -A
- индексируем изменения.git commit -m 'feat(main): add main page'
- закоммитили в соответствии с соглашением по коммитоименованию.git push origin master
- заливаем изменения в удалённый репозиторийй в веткуmaster
.
- Правим руками файлы, содержащие конфликты (посмотреть их можно через
git status
):
<<<<<<< HEAD
// 1 секция: Код текущей ветки
=======
// 2 секция: Наш изменения в коде
>>>>>>> master
Чтобы разрешить конфликт, нужно внимательно сравнить изменения в 1 секции и добавить недостающий (новый) код в свою (2 секцию). После этого удаляем всё, кроме 2 секции.
// 2 секция: Наш изменения в коде
- После этого индексируем изменения.
git add -A
- Далее нужно продолжить
rebase
с помощью команды:
git rebase --continue
- Если конфликтов больше нет и
rebase
завершился, то на этом всё. Если конфликты есть, то повторить итерацию.
git pull --rebase origin master
- обновляем веткуmaster
с ключом--rebase
, чтобы избежать промежуточных коммитов.git checkout -b feature/<name>
- создаём ветку сfeature/<name>
, где<name>
- название фичи.- Делаем изменения в коде, например, добавляем главную страницу.
git add -A
- индексируем изменения.git commit -m 'feat(main): add main page'
- закоммитили в соответствии с соглашением по коммитоименованию.git push origin feature/<name>
- заливаем нашу ветку в удалённый репозиторий.
- Находясь в ветке фичи выполняем команду:
git rebase master
- Если конфликтов нет, то пропускаем этот пункт. Если есть, то разрешаем конфликты (см. п. 3.4).
- Переходим в ветку
master
и сливаем в неё фичу:
git merge feature/<name>
git push origin master
- заливаем итоговые изменения в удалённый репозиторий.
git commit --amend
- позволяет изменить название коммита. Если нужно включить ещё и изменённые файлы, то перед этим проиндексировать файлы.git reset --hard HEAD^
- полное удаление последнего коммита.