Pull to refresh

Comments 37

Когда открытый код, да все просто и понятно.

Из картинок можно целый специализированный комикс собрать c:

Так и задумывалось, чтобы их можно было отдельно рассматривать)
>То есть на хранение кода
Вообще обычные люди хранят в VCS текст. В основном. То что он чаще является кодом — частный случай. Просто текст, вот такой статьи, в формате TeX, и еще картинки. Можно конечно считать это кодом — но все же более общее название было бы уместнее.
Да, можно хранить и текст, и картинки, и вообще всё, что захочешь. Но так как это ИТ-портал, я описала зачем это используется в ИТ =) И если новичок в тестировании / разработке захочет узнать что за зверь VCS, он будет интересоваться в плане «как мне это потом применять», а это будет именно с кодом
А что, в ИТ документацию не хранят? :)
ЭЭээ, в VCS? Ну, может, и хранят) Но обычно используют таки вики разных мастей. На худой конец гуглодоки — ворд))
Лично у меня вики с историей документа и возможностью сделать diff/merge.
автомитического мерджа, вам надо каждый файлик брать и копипастить изменения в основную ветку, что неудобно.

Не совсем понятно, что значит "автомитический мердж." И в svn совершенно не нужно брать каждый файлик отдельно и куда-то копипастить. Все делается само автоматически, как и в других vcs.

Ну в моем короткой практике общения с ним проще было скопипастить, потому что мерджил он так себе =) Впрочем, я могу тут и ошибаться
Ошибаетесь. SVN похуже работает с папками, ветками, и перемещениями файлов (у него другая идеология). Слияние обычных файлов у него вполне рабочее, и так было всегда.

Может быть это было в какой-то древней версии 10 лет назад. В современном svn все работает. Главные трудности в svn — всегда нужна сеть, и он может быть очень мммееееддддленный. Ну и с ветками работать не так удобно, в svn это просто директории. Хотя для новичков "папки" svn обычно интуитивнее.


А в целом, svn просто другая система (он работает просто как файловая система) со своими преимуществами и недостатками. Его легко поставить на windows (не тянет за собой треть линукса), он безопасен (все что закоммичено — сохранено навеки, удалить нельзя ничего, никакого rebase), легко сделать checkout одной маленькой части проекта и работать только с ней (а это позволяет модный монорепо без костылей), можно мешать ревизии отеальных файлов в папке проекта и мерджить отдельные файлы произвольным образом. Права доступа к отдельным частям проекта — легко. svn работает с бинарными данными и даже (теоретически) как-то мерджит. Легко аутентификацию по сертификату. Встроенный WebDAV с минимальными усилиями: можно смонтировать как диск в Windows для тех, кому нужен доступ только для чтения, или просто бросить ссылку для браузера (какие-нибудь дизайнеры так могут любоваться картинками из svn или скрипт может получать последние бинарные данные для управления коллайдером).

Спасибо, подкорректирую пост сегодня попозже)
Из минусов, ничего не сказано про то, что гит и руть это слепочные системы контроля версий, а svn файловая. Отсюда у них принципиальна разный подход к изменениям.

Что еще, для просмотра изменений и мержа обычно используются специализированные утилиты, например kdif3
Не уверена, что эти подробности нужны новичку)) Потому что если просто оставить короткую фразу, она будет непонятна, это надо вдаваться в пояснения
Это про kdif3 или про типы VCS?
Если про типы, ну так новичку не надо тогда и про черный и белый ящик рассказывать. Это вещи примерно одного порядка и нужны они для понимания. Другие же, более совершенные системы не рассматриваются.

Если про kdif3, то окей, пускай страдает, в конце концов все великие дела начинались в командной строке

SVN с бранчами работает так себе… И мержит тоже соответственно. Имхо Меркуриалу тут конкурентов нет.

Мне тоже он из этой тройки всех милее ))

Чисто субъективно, с Меркуриалом добиться того же результата быстрее и интуитивнее. Кажется удобнее и надёжнее.

Статья отличная, давно такую искал на русском языке. Огромное спасибо!!!
Но есть несколько капель "дёгтя":


Git создал интерактивную «игрушку», чтобы посмотреть на то, как происходит ветвление — https://learngitbranching.js.org >

Вроде не Git это придумал, а вот этот человек — Peter Cottle https://github.com/pcottle


Но есть и графический интерфейс. Устанавливаете отдельную программу и выполняете действия мышкой. Обычно это делается через «черепашку» — программа называется Tortoise. TortoiseSVN, TortoiseHG, TortoiseGit… >

Обычно — это у кого? Если у вас — то так и нужно указать было что в нашей компании или ещё как-то, но не так что это обычно вообще у всех.


Вот такие мелочи и испортили отличнейшее впечатление от статьи. А жаль, очень жаль.


P.S. Ну и редактор текста здесь, либо я бестолковый и не могу нормально оформить список...

Спасибо, добавила про Peter Cottle в статью.

По второму вопросу не поняла претензии. Я же не пишу, что все так делают, а любая статья — это всегда ИМХО автора. Сколько я общалась с людьми, не только из своей компании, то это или черепашка, или уже IDE.

Если говорить про новичка, да еще и НЕ разработчика, то ему черепашка больше зайдет

Не соглашусь. Когда статьи пишутся и если это мнение автора, то в любом случае лучше вставить "по моему мнению", т.к. иначе воспринимается как факт (я так думаю, могу и ошибаться).
И не соглашусь что Tortoise лучше зайдёт новичкам. Мои студенты (ещё не разработчики) выбирают разные GUI-клиенты Git: GitKraken, GitHub Desktop и т.д.

Все эти клиенты есть для разных систем? Что-то по названию больше выглядит «только для гита», что сразу делает черепашку сильно лучше и универсальнее. Но ок, добавила в статью «обычно в моей практике»
Олечка, ты — большой молодец. Просто обожаю твою подачу — просто тащусь каждый раз (без сарказма) )
На мой взгляд даже лучше получается, чем у Head First)
А видел ли кто-нибудь подобный материал для новичков, где разбираются технические аспекты реализации истории изменений контента на сайте? Например, как организована БД и функционал вики-движков, кажется, функционал есть так же в WordPress, скорее всего и в других CMS и фреймворках…
Система контроля версий (от англ. Version Control System, VCS) — это место хранения кода. Как dropbox, только для разработчиков!

Плохой пример. Dropbox это ближе к хостинг сервису с версионированеим.
А VCS это просто система контроля версий, которая может работать просто на локальной машине, без сети.

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

Для этого существуют бренчи. И code freeze может быть для мастер или релизной ветки. А держа коммиты у себя локально, не получится их протестировать в CI.
Поэтому использовать систему контроля версий и первым делом не изучить бренчи — это плохо.

SVN — очень простая система, одна из первых.

Ну не такая она уж и простая. И чтобы называть ее одной из первых, ей надо было появиться лет на 20 раньше.
Не согласна про пример, он же не про внутренние потроха, а для понимания обычным человеком «на что это похоже». Туда положил файлики, сюда положил. И они в сохранности, да еще и с версиями!

С бренчами согласна, разумеется, их стоит изучить =)
Туда положил файлики, сюда положил.

Дропбок — облачный сервис. Им нельзя хранить файлики с версиями «локально».

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

Это как разница между git и github (правда гитхаб естественно предоставляет кучу дополнительного функционала).

Простите, в статье есть ключевые логические ошибки, видно, что написано человеком далеком от практики и особенно современной практики.

В нынешнее время, если в проекте используется система контроля версий, но в 99% случаев, это будет уже и code-review система, где все идет через pull request.

P.S. Вдобавок далеко не все пользовались дропбоксом ;)
Ну кто-то компьютер только вчера купил, что же теперь, с яйцами в холодильнике сравнивать ) В чужой дропбокс вы тоже не залезете, пока взаимодействие не настроите.
Ну можно было бы внести в статью исправления, чтобы она учила более правильным вещам…
Но действительно, что я лезу в чужие курсы, пусть учатся по вашим, я же как специалист буду востребованее =)
Sign up to leave a comment.

Articles