Yii + Git (github) на Mac.
Статья полезная - http://infotyt.org.ua/android-os/как-загрузить-исходники-на-github.html
0. Зарегистрировался на github.com. (Установил git на mac и ввёл все ключи шифрования и настроки)
nano ~/.gitconfig
1. Переключаюсь на Mac в папку проекта goodquotes.ru
cd Sites/goodquotes.ru
2. Создаю репозиторий в текущей директории (короче папку .git в проекте goodquotes.ru)
git init
3. Настраиваю игнорирование файлов в goodquotes.ru/.gitignore
nano (или vi) .gitignore
и перечисляю в этом файле пути к файлам, за которыми не надо следить git'у:
- *.swp – VIM swap files
- .buildpath, .project, .settings – files and folders generated by Eclipse (я не использую)
- .idea – folder generated by JetBrains PhpStorm
- assets/* – everything under assets are generated by Yii during runtime
- runtime/* – same goes to everything under runtime, we wouldn’t want to version control them
- protected/data/*.db – for sqlite users, stop version control sqlite databases (Thanks to Elvan for the tips!)
- protected/tests/report/* – code coverage test report (Just started practising TDD, hence this)
- images, uploads - для хранения media файлов и картинок, в контроле версий не нуждаются, нуждаются в обычном бэкапе.
*.swp .idea assets/* !assets/.gitignore protected/runtime/* !protected/runtime/.gitignore protected/data/*.db protected/tests/report/* !protected/tests/report/.gitignore images/* !images/.gitignore uploads/* !uploads/.gitignore //добавки для другого проекта _backup/* !_backup/.gitignore backup/*.gz files/* !files/.gitignore tmp/* !tmp/.gitignore
Разумеется, я этот пункт в первый раз не сделал и проведя следующие 2 действия ("git add ." и "git commit") отправил в репозиторий весь хлам. Как удалять его оттуда?
Читаем http://git-scm.com/book/ru/Основы-Git-Запись-изменений-в-репозиторий (ближе к концу "Удаление файлов"):
Другая полезная штука, которую вы можете захотеть сделать — это удалить файл из индекса, оставив его при этом в рабочем каталоге. Другими словами, вы можете захотеть оставить файл на винчестере, и убрать его из-под бдительного ока Git'а. Это особенно полезно, если вы забыли добавить что-то в файл .gitignore
и по ошибке проиндексировали, например, большой файл с логами, или кучу промежуточных файлов компиляции. Чтобы сделать это, используйте опцию --cached
:
$ git rm --cached readme.txt
В команду git rm
можно передавать файлы, каталоги или glob-шаблоны. Это означает, что вы можете вытворять что-то вроде:
$ git rm log/\*.log
Обратите внимание на обратный слэш (\
) перед *
. Он необходим из-за того, что Git использует свой собственный обработчик имён файлов вдобавок к обработчику вашего командного интерпретатора. Эта команда удаляет все файлы, которые имеют расширение .log
в каталогеlog/
.
то есть мне надо сделать
git rm --cached assets/\* git rm --cached protected/runtime/\* git rm --cached protected/data/\*.db
Внимание: cимвол звёздочки здесь неодходимо экранировать обратным слешем, в отличие от содержимого файла .gitignore (там не надо)!
Смотрю, что всё убралось из репозитория (командой gitk) - папки assets и protected/runtime отсутствуют.
4. Добавить все файлы в Index (Stage, staging area, "подмостки") - "временный коммит"
git add .
5. Коммит в локальный репозиторий (HEAD) - так мы подтверждаем свои действия.
git commit -m "Комментарий к правке"
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 14 Разработка приложения на Yii. Урок 14: Выводим список категорий как новый виджет на сайте (29.04.2015)
- 13 Разработка приложения на Yii. Урок 13: Внедряем категории для статей. (29.04.2015)
- 12 Разработка приложения на Yii. Урок 12: Профилирование приложения, включаем кеширование. (20.01.2015)
- 11 Yiico. Видеокурс по разработке сайта на Yii. Урок 11: Отладка приложения, включаем журналирование. (20.01.2015)
- 10 Yiico. Видеокурс по разработке сайта на Yii. Урок 10: Если ваше приложение находится не в корневой папке, а во вложенной. (19.10.2014)
- 9 Разработка сайта на Yii с нуля. Урок 9. Выборка статей определённого автора. (13.08.2014)
- 8 Разработка сайта на Yii с нуля. Урок 8. Вызов в моделях функции, общей для них. Как избегать дублирования кода? (25.07.2014)
- 7 Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii. (04.09.2013)
- 6 Разработка сайта на Yii с нуля. Урок 6. Автоматич. отправка оповещений об одобренных комментариях на email автора комментария (11.08.2013)
- 5 Разработка сайта на Yii с нуля. Урок 5. Переименовываем blog в yiico. Изменяем "Home" в breadcrumbs. Включаем Gzip-сжатие. (09.08.2013)
- 4 Git. Переименовал проект, как изменить путь URL к удалённому репозиторию на github в config'е локального репозитория? (30.03.2013)
- 4 Курс по Yii с нуля. Урок 4. Дорабатываем простую работу с пользователями: хранение пароля при редактировании пользователя. (13.04.2013)
- 3 Git. Использую GIT GUI. SourceTree для Mac. (20.03.2013)
- 3 Курс по Yii с нуля. Урок 3. Создаём новых пользователей. Организуем простую систему авторизации. Аутентификация, пароли, соли. (20.07.2014)
- 2 Yii + Git (github) на Mac. (24.03.2013) ← вы тут
- 2 Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url (09.07.2014)
- 1 Git для начинающих. (12.04.2013)
- 1 Курс по Yii с нуля. Урок 1. Устанавливаем Yii на локальном компьютере. Заводим проект будущего сайта. (10.03.2013)
- 0 Composer – пакетный менеджер PHP. Что и как? (22.07.2014)
- 0 MySQL: проверить содержится ли значение в поле столбца (в столбце хранится строка значений через запятую) (22.05.2014)
- 0 Yii: Статичные страницы (создание, редактирование, удаление) (28.04.2014)
- 0 Yii: Расширение ECKEditor = Связка ckeditor + kcfinder (визуальный редактор с бесплатным файловым менеджером) (28.04.2014)
- 0 Yii: Bootstrap tabs, делаем активной вкладку на которую выполняется переход по ссылке (20.03.2014)
- 0 Yii: Доступ к атрибуту модели из файла шаблона (Вызов в шаблоне какого-либо атрибута модели). (17.02.2014)
- 0 Yii: Множественный автокомплит с помощью CJuiAutoComplete (автокомплит нескольких значений в одно поле) (07.02.2014)
2 комментариев
Под mac есть замечательная программа Source Tree - умеет работать с git и hg. Попробуй - избавит от многих проблем и непониманий.
Хотя, если конечно же хочешь по хардкору, делай дальше через cli :-)