Neborak 0 21 декабря, 2015 Опубликовано 21 декабря, 2015 · Жалоба Предыстория такова: работал с svn, коммитил туда проект. Потом перешел на git, стал коммитить на другой сервер. Теперь смог затянуть из svn коммиты в git репозиторий. Таким образом получил 2 git репозитория, один начало проекта, второй - конец. Попробовал слить конец первого с началом второго, нарешал кучу конфликтов, но репозитории так и не объединились. Может кто сталкивался, как объединить репозитории? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Le Fou 0 21 декабря, 2015 Опубликовано 21 декабря, 2015 (изменено) · Жалоба Может кто сталкивался, как объединить репозитории? Сам не сталкивался, это не поможет? Ну вдруг вы забыли посмотреть на Stackoverflow, заранее прошу прощения если что. http://stackoverflow.com/questions/1425892...it-repositories или это http://stackoverflow.com/questions/1425892...it-repositories кстати, а что конкретно вас побудило к переходу на Git? Изменено 21 декабря, 2015 пользователем Le Fou Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 21 декабря, 2015 Опубликовано 21 декабря, 2015 · Жалоба кстати, а что конкретно вас побудило к переходу на Git? Удобство работы с ветками и слепок сервера на локальной машине. Первое удобно для мелких экспериментов, что бы не засорять директорию проекта. Второе удобно при работе в "поле", в любой момент доступны все коммиты с сервера без подключения к серверу. Сейчас у нас есть огромный проект (по факту это движек, который конфигурируется с помощью кучи дефайнов под конкретную задачу), работаем над ним втроем. Двое вбивают конфигурацию под свою задачу, третий прибивает какой-то баг, как пример. Каждый работает в своей ветке, когда приходит время, то наработки сливаются в основную стабильную ветку. Кода бывает очень много в разных местах, как это сделать с помощью других инструментов даже не могу представить. За ссылку спасибо, вроде так и делал. Попробую еще раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Le Fou 0 21 декабря, 2015 Опубликовано 21 декабря, 2015 · Жалоба Я просто, хоть и переключился на Git вслед за командой, не вкурил пока в чем цимес. Удобство работы с ветками Первое удобно для мелких экспериментов, что бы не засорять директорию проекта. ну.. пожалуй. Второе удобно при работе в "поле", в любой момент доступны все коммиты с сервера без подключения к серверу. Типа, в поле нужно посмотреть кто где налажал десять коммитов тому назад, пофиксить, и при этом нет доступа к серверу? наверное бывает, но в целом плохая ситуация. Каждый работает в своей ветке, когда приходит время, то наработки сливаются в основную стабильную ветку. Кода бывает очень много в разных местах, как это сделать с помощью других инструментов даже не могу представить. Проблема, видимо, в том что сервер может быть недоступен. Пока репа на связи -- в SVN мне кажется это ничуть не сложнее. Занятно, что главным преимуществом в эпоху облаков и прочего оказалась отвязка от сервера )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 21 декабря, 2015 Опубликовано 21 декабря, 2015 · Жалоба В общем получилось с помощью Rebase. Большой проблемой стало то, что первый коммит в новом репозитории сделан с правками, т.е. не соответствовал последнему коммиту в старом. Из-за этого было много конфликтов. Выкрутился так, старый клонировал, сделал в нем состояние, которое было как в первом коммите нового репозитория, сделал коммит и принудительно указал промежуточную дату в диапазоне между последним в старом и первым в новом репозитории. Таким образом получил общего предка. А дальше git все сделал сам. По поводу gitа, первое преимущество ощутил, что ну нужно сидеть что-то синхронизировать с сервером, пока не сделаешь push все коммиты остаются локальными, только сделанную часть работы выкладываешь на сервер или ту, которую нужно перенести на ноутбук. Второе, работаешь над новым функционалом, неделя-две, прибегают, видите ли, светодиод хотят что бы не мигал, а светился постоянно. Делаю коммит, переключаюсь в последний релиз (метки тоже удобно использовать), создаю свою ветку, правлю, отдаю прошивку, жду результат, если все ок, то сливаю изменения в мастер. В SVN без подключения к серверу я бы ничего этого не сделал бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 22 декабря, 2015 Опубликовано 22 декабря, 2015 · Жалоба не вкурил пока в чем цимес. Ветки! И всё, что они дают. А именно: возможность в любой момент делать что угодно без опасности потерять или сломать имеющееся. Удобство переключения состояния проекта в текущей рабочей директории - на svn ветки - это директории, соответственно, при переходе к ветке, нужно менять рабочую директорию. Т.к. репозиторий локальный, то все операции происходят очень быстро. Вот хороший пример методологии использования, рекомендую. По поводу удалённого сервера хочется предостеречь: поначалу кажется (особенно, когда довлеет опыт работы с VCS с центральным репозиторием), что распределённая система - это просто куча клонов (слепков, копий) одного и того же репозитория. На самом деле это не так. Удалённый репозиторий - это не средство для резервного копирования, удалённый репозиторий - это способ публикации и обмена данными. На удалённый сервер пушатся не все локальные ветки, а только общие и публичные. Резервное копирование - это отдельная тема, и делается оно своими способами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба По поводу удалённого сервера хочется предостеречь: поначалу кажется (особенно, когда довлеет опыт работы с VCS с центральным репозиторием), что распределённая система - это просто куча клонов (слепков, копий) одного и того же репозитория. На самом деле это не так. Удалённый репозиторий - это не средство для резервного копирования, удалённый репозиторий - это способ публикации и обмена данными. На удалённый сервер пушатся не все локальные ветки, а только общие и публичные. Резервное копирование - это отдельная тема, и делается оно своими способами. А удавалось работать не через сервер, а с коллегой напрямую, как пишут "когда двое людей работают над одной и той же проблемой они могу брать наработки друг у друга"? Я такую фишку пробовал реализовать для синхронизации с ноутбуком. Шарил папку с проектом, но на ноут можно клонировать и фэтчить, запушить на основной нельзя. Или нужно, например, на ноуте клонировать, сделать правки, сделать коммит, а на основном компьютере подключить еще один репо со ссылкой на ноут? Не нравится, что нужно шарить папку с проектом. Или без открытия сетевого доступа как-то можно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба А удавалось работать не через сервер, а с коллегой напрямую, как пишут "когда двое людей работают над одной и той же проблемой они могу брать наработки друг у друга"? Нет, такое не использовали. Напрямую, насколько знаю, это обмен патчами. Ну, а для себя одного проще всего просто копировать репозиторий и всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться