Страницы: 1
RSS
Системы контроля версий, Не знаю как раньше жил без них)
 
Начинаю осваивать систему контроля версий (рсув) и чем дальше в лес, тем чаще задаю себе вопрос: как же я раньше без нее жил?  :D  Кто-нибудь пользуется?)
Изменено: nerv - 24.12.2012 01:13:11
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
пользоваться нужно тем, в чем есть потребность  :)

как я понимаю - в данном случае при написании достаточно объемных, развивающихся во времени проектах, да еще и разрабатываемых не одним человеком.
имхо, в VBA это редкость.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет:
имхо , в VBA это редкость
заблуждение №1: систему контроля версий можно использовать для чего угодно) Пример (простой): ты работаешь с документом word, текущее состояние которого хочешь зафиксировать. Ты делаешь это (фиксируешь) и отныне можешь быть уверен, что сможешь к нему откатиться в любой момент. Никаких сохранить_как_дата_время_погода_за_окном. Не зачем плодить файлы на диске. Ты можешь в любой момент сравнить содержимое файла до, после; наглядно увидеть разницу. Это только цветочки  :)
Изменено: nerv - 24.12.2012 01:37:08
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Цитата
nerv пишет:
Это только цветочки
заманчиво. тащи и ягодки. чё уж теперь...
Изменено: ikki - 24.12.2012 01:46:11 (а то было как будто бы "баба яга против" :))
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
Никаких сохранить_как_дата_время_погода_за_окном. Не зачем плодить файлы на диске
nerv, а ты уверен, что система контроля версий всегда (во всех случаях) удобнее?

Вот я делаю надстройки для Excel (1 скрытый лист, обычно без данных, + много кода VBA в разных модулях)
При публикации новой версии на сайте, простейший макрос из 4 строк создаёт в специальной папке файл вида НазваниеПрограммы_Версия_Дата.xla

В любой момент, я могу одним нажатием кнопки открыть в Excel любую из прежних версий
Или тот же Git позволит мне сравнивать разные версии кода VBA (даже из запароленных VBA-проектов)?

Я понимаю, ты с javascript и другими веб-технологиями сейчас работаешь, там без системы контроля версий - сложновато.
Но что касается VBA - ты применяешь систему контроля версий на практике?
Можно увидеть хоть пару скриншотов, где система отображает изменения в коде VBA разных версий одной и той же надстройки для Excel?
Изменено: EducatedFool - 24.12.2012 01:50:35
 
Цитата
EducatedFool пишет:
Но что касается VBA - ты применяешь систему контроля версий на практике?
пока ответ только на этот вопрос итоговый файл, история изменений:
  1. добавлен
  2. исправлен
  3. исправлен
  4. исправлен
Изменено: nerv - 24.12.2012 02:32:18
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Цитата
пока ответ только на этот вопрос итоговый файл, история изменений:
ну да, неплохо

а подскажи:
вот ковыряюсь я в коде, правлю его
и решил сохранить изменения (надстройка XLA, проект VBA под паролем)

что мне надо нажать, чтобы текущая версия сохранилась? (я так понимаю, на сервере сохраняется, а не на локальном компе?)

Сохраняется копия файла XLA целиком, или только код (одного модуля, или все модули)?
Или ты копируешь (экспортируешь) код модуля вручную?
 
Цитата
ikki пишет:
заманчиво. тащи и ягодки. чё уж теперь...
я только начал изучать и много чего не знаю. Например, можно отследить всю историю изменений файла. Можно сравнить любое временное состояние с любым (т.е. не только до и после). Можно вести коллективную разработку. Допустим, есть удаленный репозиторий(хранилище). Ты работаешь с проектом на локальной машине, делаешь частые правки, сохраняешь состояния, а на сервер заливаешь это все одним коммитом (состоянием). Возможность комментировать сохраненные состояния. Вообще, очень трудно что-то потерять в Git'е  :)  
Цитата
EducatedFool пишет:
nerv, а ты уверен, что система контроля версий всегда (во всех случаях) удобнее?
ну, я сам нехотя на нее переходил, скептически относился поначалу. Даже сказал бы противился   :D   Первое впечатление: да, уверен.

Цитата
EducatedFool пишет:
В любой момент, я могу одним нажатием кнопки открыть в Excel любую из прежних версий
в Git'е практически так же
Цитата
EducatedFool пишет:
Или тот же Git позволит мне сравнивать разные версии кода VBA (даже из запароленных VBA-проектов)?
сравнить не позволит, но переключаться между версиями файлов, труда не составит. Чтобы можно было сравнивать состояния, придется экспортировать модули, классы, формы. В принципе, это может сделать тот же макрос (т.е. максимально автоматизировано). Зато всегда сможешь наглядно увидеть, что где, почему и отчего.
Цитата
EducatedFool пишет:
что мне надо нажать, чтобы текущая версия сохранилась?
Код
$ git add *
$ git commit
изначально Git это консольное приложение, но я работаю преимущество через GUI (одну кнопку). Там все как на ладони.

Цитата
EducatedFool пишет:
я так понимаю, на сервере сохраняется, а не на локальном компе?
храниться на локальной машине. На сервер пушится (push) при коллективной разработке или если ты сам этого захочешь. Вместе с тем, на сервере могут быть приватные и публичные репозитории (в моем примере публичный).

Цитата
EducatedFool пишет:
Сохраняется копия файла XLA целиком, или только код (одного модуля, или все модули)?
сохраняется слепок всего проекта, т.е. каждого файла в отдельности. Разумеется если файлы не изменялись, там там это все как-то хитро оптимизируется.

Цитата
EducatedFool пишет:
Или ты копируешь (экспортируешь) код модуля вручную?
тот пример был первый и сделан вручную. Позже планирую автоматизировать.
Изменено: nerv - 24.12.2012 15:22:38
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
чтиво по теме:
Чакон С. Pro Git (2012).pdf
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
я читаю этот же учебник онлайн
клиент github + git для windows
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
интересная штука: оказывается, можно не только откатываться/переключаться к разным состояниям файла, но и к разным веткам (branch). Можно вести n-параллельных независимых версий/историй разработки (которые впоследствии, можно объединить/слить)
Изменено: nerv - 25.12.2012 01:03:45
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
немного о своих ощущениях после работы с Git.
Раньше моя работа была организована следующим образом: если требовалось зафиксировать какое-то состояние проекта, я создавал архив (копию) проекта - [дата] + [время] + [краткое описание 1-2 слова]. Просто и удобно, не правда ли?... Нет, не правда.

Before: Как только появляется копия проекта, начинаешь путаться: "А где же я нахожусь?" Переход от одной копии проекта к другой - переход от каталога к каталогу в файловом менеджере (надеюсь, вы им пользуетесь).
After: С Git эта проблема отпадает. У вас одна рабочая директория. В любой момент можно "поднять" более раннюю версию любого файла(ов) или всего проекта.

Но начал, я разумеется, не с того. С Git очень сложно что-либо потерять. Если вы зафиксировали состояние? потерять его действительно сложно. Я могу по_ошибке/случайно перезаписать файл, удалить его, наконец, запустить макрос, который производит какие-либо критически важные изменения и сохраняет файл. Казалось бы, исходные данные потеряны... С Git никогда.

Как правило, раньше full-копии проекта я создавал редко - не люблю лишних движений (+место на диске). Git располагает к созданию частых снимков (проекта). Более того, он позволяет писать комментарии к каждому состоянию отдельно (короткие и расширенные), удобно просматривать их, автоматически включать в комментарий разницу состояний (проектов)... [далее длинный список].

Цитата
EducatedFool пишет:
Но что касается VBA - ты применяешь систему контроля версий на практике?
Последнюю неделю - полторы работал(vba в т.ч.) исключительно через Git. Вернуться к "архивированию"? Да ни за что!  :D  +вчера состряпал надстройку для собственных нужд, которая "раскладывает" проект VBA по модулям в один клик. Теперь будет возможность взглянуть на проекты сквозь "прозрачное стекло"  :)

Цитата
EducatedFool пишет:
Можно увидеть хоть пару скриншотов, где система отображает изменения в коде VBA разных версий одной и той же надстройки для Excel?
  1. список репозиториев. Выбранный репозиторий отображает файл readme с форматированием
  2. внутри публичного репозитория (совместная разработка)
  3. внутри приватного репозитория
  4. приватный репозиторий
  5. приватный репозиторий, просмотр коммита
Изменено: nerv - 29.12.2012 21:02:55
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv,  Саша, немного ОФФ, еще надо что бы коллеги умели пользоваться такими возможностями.
В Ворде есть инструмент рецензирование. Очень удобная штука. Всегда можно посмотреть с чего ты начал, какие изменения были внесены, и конечный результат. Но я ей не пользуюсь после того как увидел что народ перенабирает вручную мой текст так, как не может распечатать итоговую версию в чистовом варианте (а совсеми выносками и пояснениями по редакциям).
 
Цитата
Igor67 пишет:
надо что бы коллеги умели пользоваться такими возможностями
ну так умеют. Не все, конечно, но умеют )

> В Ворде есть инструмент рецензирование
знаю про такой, но системы контроля версий не просто так придумали. Реально удобно :)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
скрины реальной работы с VBA (от раннего к позднему):
для своих нужд написан надстройку, кот. сохраняет VB проект на диске. Особо не перетруждаюсь, жму кнопку и готово . Если кому надо, могу выложить.

Т.о. могу посмотреть историю проекта, разницу изменений и т.п. не открывая excel файл.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
Страницы: 1
Читают тему
Наверх