Russian Qt Forum
Ноябрь 23, 2024, 03:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3] 4 5 6   Вниз
  Печать  
Автор Тема: Помогите выбрать контроль версий под мои нужды  (Прочитано 41973 раз)
Bepec
Гость
« Ответ #30 : Август 13, 2014, 13:40 »

Т.е. для коммита - фиксации изменений в репозитории, которые станут доступными для других клиентов необходимо выполнять 2 команды? Commit/push?
Да, именно так и есть.

С одной стороны это хорошо - наличие локальной копии репозитория.
С другой - 2 команды вместо одной.

Не буду рассуждать что лучше или хуже, но svn проще и порог вхождения в него раз эдак в 5 ниже, чем в git.

PS вопрос специалистам по гиту - что будет если 2 локальных репозитория сделают ~ 2-5 коммитов на одни и те же файлы, а потом сделают push в любом порядке. Допустим сначала 1 потом 2.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #31 : Август 13, 2014, 13:44 »

Первый запушает, второй обломится - ему будет предложено сначала запулать. Человек запулает, гит смержит версии и, если не сможет разрулить конфликты, предложит их разрулить.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
« Ответ #32 : Август 13, 2014, 13:48 »

Т.е. нормальными словами нельзя объяснить? Улыбающийся pull и push для меня слова английского языка, применительно к Гиту их значение я взял из вики Улыбающийся

Но в целом ясно - он выдаст количествоФайлов * количествоКоммитов конфликтов... Мдэээ... Тут svn выиграет - гораздо проще при текущем коммите разрулить конфликты.

Ну да ладно, на вкус и цвет Улыбающийся   
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #33 : Август 13, 2014, 13:55 »

Т.е. нормальными словами нельзя объяснить? Улыбающийся pull и push для меня слова английского языка, применительно к Гиту их значение я взял из вики Улыбающийся

Но в целом ясно - он выдаст количествоФайлов * количествоКоммитов конфликтов... Мдэээ... Тут svn выиграет - гораздо проще при текущем коммите разрулить конфликты.

Ну да ладно, на вкус и цвет Улыбающийся   
Ты не понял. Если в свн кто-то уже что-то поменял, то ты не сможешь закоммитить, пока не разрулишь конфликт (это на сколько я знаю), а в гите ты при попытке отправить коммиты получишь ошибку, сольешь все, что было на серваке (при этом гит сам разрулит большинство конфликтов) и ты спокойно все отправишь.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #34 : Август 13, 2014, 14:09 »

Ситуация:
Имеется 2 компьютера. Один из них offline. Редактируется файл на обоих.
А как гит разрулит такой конфликт?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #35 : Август 13, 2014, 14:14 »

Ситуация:
Имеется 2 компьютера. Один из них offline. Редактируется файл на обоих.
А как гит разрулит такой конфликт?
Это лучше в документации прочитать, там несколько алгоритмов. Грубо говоря, если кто-то правил начало файла, а кто-то конец, то просто объединяются обе версии.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
« Ответ #36 : Август 13, 2014, 14:33 »

И на svn и на гите имеется автоматическое слияние. И там и там алгоритмы Улыбающийся

В специфике svn такая ситуация может возникнуть только с одним коммитом. При попытке коммита будет получена версия текущего и вашего файла. Если автоматическое слияние возможно оно произойдёт. Если нет, будет получен конфликт и предложена двухпанельная система. (в гите трехпанельная, если верить вики).

А конфликты деревьев что здесь, что там - ужас. Но это неизбежно Веселый
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #37 : Август 13, 2014, 14:39 »

Конфликты деревьев в гите совершенно не ужас, а очень даже наоборот. У меня над проектом трудится 4 человека, ветки создаем для каждой задачи - проблем со слиянием пока еще не было.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #38 : Август 13, 2014, 15:26 »

merge-conflict в SVN, особенно когда мержишь новые наработки (а то и целую новую версию) в trunk — вот это ужас. в гите все в разы проще и быстрее.

и еще есть такая замечательная штука под названием git-flow.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #39 : Август 13, 2014, 18:45 »

и еще есть такая замечательная штука под названием git-flow.

А есть еще такая штука - gource. Такого уж точно в SVN нет Улыбающийся
Записан

Гугль в помощь
Bepec
Гость
« Ответ #40 : Август 13, 2014, 18:52 »

А можно ещё написать названия хз-каких утилит без указаний их назначения? Улыбающийся

Практические утилиты приводите, а не "красивостей" Веселый
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #41 : Август 13, 2014, 19:34 »

*gil9red, пользующийся svn и mercurial на работе, а git'ом дома, с ироничной улыбкой наблюдает за разворачивающимся холиваром*
Записан

Bepec
Гость
« Ответ #42 : Август 13, 2014, 19:44 »

Да эт не холивар Улыбающийся По эмоциональности не дотягивает Улыбающийся
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #43 : Август 13, 2014, 19:50 »

и еще есть такая замечательная штука под названием git-flow.

А есть еще такая штука - gource. Такого уж точно в SVN нет Улыбающийся
Currently Gource includes built-in log generation support for Git, Mercurial, Bazaar and SVN (as of 0.29). Улыбающийся
А можно ещё написать названия хз-каких утилит без указаний их назначения? Улыбающийся

Практические утилиты приводите, а не "красивостей" Веселый
git-flow - a successful branching model. утилита, с помощью которой удобно вести ветки проекта (особенно большого): мастер (основная, куда попадают релизы), девелоп (понятно для чего), фича-бранчи (работаешь над фичей в отдельной ветке и потом мержишь в девелоп), хотфикс-бранчи (берутся из мастера для исправления текущей релизной версии).

программисты конечно должны быть ленивыми, но не настолько, чтобы даже не мочь открыть гугл. к git-flow есть еще красивая картинка цикла разработки.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #44 : Август 13, 2014, 23:13 »

о да, написать git pull — это трудно, а написать git commit -a -m "my commit message" && git push — так это точно «за гранью» (хотя часто пушают не сразу, а после нескольких коммитов).

Здравый смысл подсказывает: смысл в относительной простоте. Простые вещи должны делаться просто.
Жмакнуть на кнопачку, не вылазия из ИДЕ - это просто. Запускать консольку, и вручную вбивать текст - это сложнее.

Что примечательно: красноглазому трудно понять: не сложно зайти на первый этаж через чердак. но зайти через парадную дверь - гораздо удобнее, быстрее, и проще.

Зачем делать сложнее, если можно сделать тоже самое, но проще?

конечно, всякие более сложные вещи через гуй сделать быстрее/проще — для этого был придуман gitk.

У меня до сих пор остается претензия. Не к самому гиту (то, что у него консольно-командное апи - это напротив, хороший бонус для любителей автоматизировать скриптами)

А к гуёвой оболочке SmartGit.

В сравнении с черепахнутым свн, там те же самые хотелки реализуются гораздо большим количеством действий.


Хочется например, поднять старую ревизию, послав нафиг все прочие изменения.
То бишь, после отката, физическое дерево каталогов должно быть один в один, как в старой ревизии.
Никакого неверсионного мусора.

Свн просто сделает откат.

Гит начнет компостировать мозги.

Конечно, возможно и есть какая то консольная команда, которая позволить поиметь профит.
Вот только лично мне влом втыкать во все эти консольные команды (ну или нахрена нужен такой гуй? )

Простые вещи должны делаться просто.
Записан
Страниц: 1 2 [3] 4 5 6   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 23.