Yii + Git (github) на Mac.

Нет картинки Как работать на yii и git, настройка этих штук.

Статья полезная - 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 "Комментарий к правке"

 

 

 

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (2)     Подпишитесь на RSS комментариев к этой статье.

2 комментариев

#806
Bethrezen говорит:
March 20, 2013 at 09:54 am

Под mac есть замечательная программа Source Tree - умеет работать с git и hg. Попробуй - избавит от многих проблем и непониманий.

Хотя, если конечно же хочешь по хардкору, делай дальше через cli :-)

#814
almix говорит:
March 27, 2013 at 11:13 am
Bethrezen, поддерживаю, нашёл программу SourceTree тоже (к слову она и для Windows есть!). А вместе с ней и bitbucket.org - разработка той же компании (bitbucket позволяет хранить закрытые репозитории бесплатно, чего не даёт Github). Просто бывает не хочется тыкать кнопочки в визуальной программе (GUI), и проще набрать в Терминале три команды - эффект тот же. И вовсе не хардкорно. Всё равно лучше понимать, что происходит при работе с репозиторием.