Git — не единственная, но очень популярная система контроля версий (регистрирует изменения в файлах, с возможностью отката.) Важнейший инструмент web-программиста.
Качаем для вашей ОС — Git, устанавливаем.
Запускаем Git Bash из контекстного меню, проверяем версию, пишем:
1 |
git version |
Далее заполним авторские данные командой:
1 2 |
git config --global user.name "You Name" git config --global user.email "youmail@yandex.ru" |
Проверяем настройки:
1 |
git config --list |
Чтобы удалить настройку, например почту выполним:
1 |
git config --unset-all --global user.email |
Создаем папку с проектом и выполняем инициализацию командой:
1 |
git init |
После выполнения команды, в проекте должна появиться скрытая папка .git с историями версий. Не появилась? Читаем тут.
Создадим в паке нашего проекта index.php файл командой:
1 |
notepad index.php |
добавим в него содержимое:
1 |
echo "first"; |
сохраним (ctrl+s), закроем блокнот, проверяем статус файлов в проекте командой:
1 2 3 |
git status ... Untracked files: index.php |
Мы увидим, что наш файлик не отслеживается. Чтобы исправить этот момент, пишем:
1 |
git add index.php |
Теперь, если проверить статус, система подскажет, что версия файла не сохранена.
1 2 3 |
git status ... No commits yet |
Чтобы сохранить текущую версию файла выполним команду:
1 |
git commit -m "Вот мой первый комментарий" |
Или можно просто git commit — откроется редактор, в котором можно написать комментарии к версии.
1 2 3 4 5 |
Вот мой первый комментарий # # Changes to be committed: # new file: index.php # |
Посмотрим историю коммитов, выполним команду:
1 |
git log --graph --all --oneline |
Если нужно внести изменения в последний коммит:
1 |
git commit --amend -m "Перезапись коммита" |
Изменим содержимое нашего файла index.php
1 2 |
<?php echo "second"; |
Проверим статус:
1 |
git status |
no changes added to commit — говорит о том, что изменения не внесены в коммит. Сейчас команда git commit не сработает, так как нам нужно заново добавить наш файл командой
1 |
git add имя файла index.php |
или добавить сразу все файлы в каталоге:
1 |
git add . |
удалить файл из области слежения можно командой:
1 |
git reset HEAD file.txt |
git checkout 851af — переходит на указанный коммит (851af — 5 первых символов хеша коммита)
git checkout master — переместит на последний коммит (вернет к последней версии).
git checkout —file.txt — отмена изменений.
.gitignore — файл в корне проекта, перечисляем все файлы и папки, которые будут игнорированы системой Git, можно добавлять по маске:
1 2 3 4 |
upload/ credits.php *.log doc/**/*.txt |
+ Некоторые полезные команды
ls — список файлов.
cd — смена каталога, путь к диску указывается как /c/…
сlear — очистить экран
rm файл — удалить файл
И конечно полезно прочесть мануал на сайте разработчика.
Работа с удаленным репозиторием GitHub
Для начала нам понадобится зарегистрироваться на сайте и создать бесплатный публичный репозиторий.
1 2 |
git remote add origin https://github.com/ваш_логин/репозиторий.git git push -u origin master |
Первая команда добавляет к origin короткое имя (ссылку) репозитория, а в ней путь к вашему репозиторию.
Вторая выгружает на github.com ваш проект. Если не получилось, скорее всего в проекте нет коммитов. Проверяем командой : git log
Для дальнейшей работы, нам понадобится менеджер зависимостей Composer.
Для удобства можно создать и прописать токен в composer глобально:
1 |
composer config -g github-oauth.github.com c5ddce4_тут_ваш_токен_82e7d7745313527285 |
Работа с удаленным репозиторием bitbucket
bitbucket — позволяет создавать приватные репозитории до 1 гб на аккаунт. Команды таки же как и GitHub.
Регистрируемся, создаем пустой приватный репозиторий, добавляем ссылку.
1 |
git remote add bitproject Логин@bitbucket.org/Логин/bitproject .git |
И выгружаем наш проект в уже закрытый приватный репозиторий:
1 |
git push -u bitproject master |
Теперь у нас есть две ссылки на разные репозитории:
1 |
git remote -v |
Клонирование репозитория
Чтобы скачать наш проект, создайте новую папку и выполните в ней команду:
1 |
git clone https://bitbucket.org/Логин/bitproject/src/master/ |
, где bitproject — имя вашего репозитория. Удалить ссылку например на наш репозиторий на bitbucket :
1 |
git remote rm bitproject |
Это не удалит сам репозиторий в облаке, только ссылку на него с вашего проекта. Удалить репозиторий можно на сайте, в настройках, через веб-интерфейс в самом низу кнопка Delete repository.
Работа с ветками
- Создать ветку develop: git checkout -b develop
- Просмотр веток: git branch -a
- Переключиться на ветку master: git checkout master
- Последний коммит: git branch -v
- Слияние веток: git merge develop —no-ff