Состояние локального проекта осталось без изменений svn stasus и git status
Чтобы откатить локальные модификации файла вместо svn revert /path/to/file будет git checkout -- /path/to/file
А вот в процедуре принятия и отправки изменений больше различий.
В GIT есть процедура, которой нет в SVN. Дело в том, что GIT использует локально почти такой же репозиторий, как и удалённо и привычный commit не уходит на сервер, а применяется локально. Поэтому без аналогий: git commit -m "commit description" Перед этим, однако, нужно определить с помощью status какие файлы войдут в коммит и добавить их при помощи git add. Или воспользоваться параметром -a к коммиту (git commit -am "commit description") для отправки всех файлов.
Обновление: svn update и git pull
Отправка: svn commit и git push
Ещё пара слов о процессе отправки/получения изменений:
При работе с SVN принят такой процесс:
- svn update // акуальное состояние проекта
- // внесение изменений в код
- svn update // для объединения удалённых изменений и решения конфликтов
- svn commit
при работе с GIT следует придерживаться следующей последовательности:
- git pull // актуальное состояние проекта
- // внесение изменений в код
- git commit // локальный коммит в репозиторий
- git pull // для объединения изменений и решения конфликтов
- git push
так как это «краткий справочник» всё таки, то приведу ещё одну полезную аналогию:
экспорт дерева проекта из репозитория бывший svn export будет звучать как git checkout-index -a -f --prefix=/path/to/destination/
тут важно не забыть слеш в конце, иначе префикс будет добавляться как есть и файл index.php превратится в /path/to/destinationindex.php :)
-a — как обычно для включения всех файлов
-f — классика: force
UPD git archive --format zip --output /full/path master
UPD git archive --format zip --output /full/path master
Немає коментарів:
Дописати коментар
Не обязательно регистрироваться, вы наверняка уже зарегистрированы в одном из сервисов, который предоставляет OpenId, предлагаю воспользоваться им. Подробнее: http://openid.net/what/