Показаны сообщения с ярлыком git. Показать все сообщения
Показаны сообщения с ярлыком git. Показать все сообщения

вторник, 1 марта 2011 г.

Как скопировать файлы из другой ветки репозитория git

Кросспост из ЛинСовета

Что же делать, если нужно скопировать файлик из одной ветки git в другую? Браться за голову и делать это руками? Совсем нет. :)


Достаточно сделать в нашей ветке, где файла нет вот такое действие:
$ git checkout другая_ветка путь_к_файлу
и файл магически скопируется из другая_ветка. Останется добавить его и закоммитить.

четверг, 12 августа 2010 г.

Используем git для работы с SVN

Во-первых, почему? Ну, просто эта методика весьма удобна для работы с opensource-проектами, так как даже если вы решите написать патч или наковырять собственную ветку, вам не придется плясать вокруг создания и синхронизации репозитория SVN для своих нужд - в git это все будет "из коробки". Ну и популярность git нынче растет, и вам наверняка не хочется отставать от тренда. Если еще и учесть то, насколько распределенный и легко ветвящийся git удобен, вопросов "почему", остается мало.

В git есть git-svn - интерфейс для работы с SVN, который позволит забирать весь SVN-репозиторий с историей изменений и затем даже коммитить в него.

Возьмем самый циничный пример - заберем исходные коды одного из сторонних модулей для asterisk (более мелкого проекта с svn найти быстро не смог) :)
git svn clone http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard
Это создаст локальный git-репозиторий в текущем каталоге, подключится к SVN-репозиторию и заберет его со всеми ревизиями.
Теперь вы можете работать с ним как с обычным git-репозиторием. Делать diff-ы. Гулять по истории версий. Ответвляться от нужной ревизии и поддерживать свою собственную ветку своих патчей. Да-да. Вы можете коммитить в этот git-репозиторий. А потом, в случае чего, можно отправить изменения и в svn:
git svn dcommit