Я часто работаю вместе с коллегами над проектами. Для простоты мы создаем папки проекта (сетевые диски), которые содержат всю информацию о проекте. Часто это проекты по разработке новых продуктов. Это означает, что папка проекта содержит финансовые расчеты, чертежи в формате PDF, листы Excel, изображения и т. д.
Мне было интересно, какой инструмент будет лучшим для отслеживания изменений и уведомления меня об изменениях в папке проекта. У меня мало опыта работы с SVN (который, я думаю, мог бы справиться с этой задачей) и нет опыта работы с GIT (который, как я понимаю, лучше).
Однако есть несколько предостережений :
Итак, в основном, это наши требования:
Файлы хранятся на файловом сервере, а не в общем каталоге на рабочих станциях. Я думал об инструменте, работающем в системном трее, который уведомляет меня (только меня самого) об изменениях в папке проекта - если возможно, с журналом изменений.
Является ли GIT правильным способом сделать это, или это излишне сложно, или это действительно просто инструмент для отслеживания изменений в коде?
Каким будет лучший способ (инструмент) отслеживать изменения и держать меня в курсе?
Есть некоторые проблемы с тем, что вы просили. Прежде всего, все, что «отслеживает» файлы, должно быть установлено как фоновая служба, чтобы она могла работать постоянно — для этого всегда потребуются права администратора. Во-вторых, требование конфиденциальности обычно также требует наличия собственного сервера или готовности периодически платить за место на сервере. Давайте рассмотрим некоторые варианты.
Git/SVN/Меркуриал/и т.д. (Решения для контроля версий исходного кода)
Они плохо отслеживают файлы двоичных данных и анализируют только необработанный текст. Если вы используете их для отслеживания таких файлов, как PDF-файлы или документы Microsoft Office, вы сможете узнать, что файл изменился, но не знаете, что это были за изменения. Кроме того, вы потеряете все преимущества хранения, которые предлагают распределенные системы контроля версий, поскольку система будет хранить двоичные дампы каждой версии каждого файла, а не различия. Вдобавок ко всему, поскольку управление исходным кодом обычно должно осуществляться очень намеренно, оно не будет «автоматическим». Вам и вашим коллегам нужно будет вручную добавлять каждый файл в индекс, и не забывайте вручную помечать файл как измененный и отправлять изменения на сервер каждый раз, когда вы обновляете файл. А если у вас нет своего сервера,
Dropbox/Google Диск/Boxee/Tresorit/и т. д. (службы синхронизации файлов)
Такие сервисы, как Dropbox, часто имеют встроенный контроль версий. Dropbox даже достаточно умен, чтобы генерировать именно то, что изменилось во многих проприетарных двоичных форматах данных, таких как PDF-файлы и файлы Microsoft Office, если я не ошибаюсь. Dropbox также уведомит вас об изменениях файла в виде всплывающего окна внизу экрана. К сожалению, вам, вероятно, потребуются права администратора, чтобы настроить это на вашей рабочей станции. Кроме того, у Dropbox есть проблемы с конфиденциальностью и безопасностью: хотя ваши файлы не будут «общедоступными», как таковые, любой, у кого есть прямая ссылка на файл, может получить к нему доступ без аутентификации. Гипотетически это может быть вектором кибератаки, если когда-либо будет расшифрована техника блокировки URL-адресов Dropbox. Некоторые сервисы, подобные Dropbox, на самом деле используют модель обмена файлами между узлами. значит сервер не нужен. Это может быть преимуществом для конфиденциальности.
Майкрософт OneNote
Это проприетарная система, встроенная в вашу операционную систему, если вы используете последнюю версию Windows; это означает, что вам не нужно его устанавливать и не нужны права администратора. Если вы используете Office 2013 или новее, это также связано с этим. Это похоже на сервисы, подобные Dropbox. Он имеет настраиваемые параметры конфиденциальности . Он предлагает 15 ГБ дискового пространства бесплатно.
Для этого варианта использования я предлагаю Alfresco .
Alfresco заменяет ваш традиционный общий ресурс Windows. Он использует тот же протокол, поэтому изменение прозрачно для пользователей. Вы также можете получить к нему доступ через WebDAV, CMIS и другие протоколы.
Сервер Alfresco находится на вашем сервере (внутри вашей сети), поэтому ваша важная информация не будет отправлена ненадежным третьим лицам, таким как Dropbox/Google/Microsoft.
Версии отслеживаются, вы можете заблокировать файлы на время их редактирования. Последние изменения видны в веб-интерфейсе:
Если этой веб-панели недостаточно, и вам действительно нужно уведомление в трее Windows, я предлагаю использовать крошечную портативную программу для чтения RSS-каналов и настроить этот веб-скрипт в Alfresco (я никогда не использовал его, но, согласно описанию, это лента последних изменения, та же информация, что и на скриншоте выше).
Alfresco является бесплатным продуктом с открытым исходным кодом, при необходимости доступна профессиональная поддержка.
Вудро Барлоу
Вудро Барлоу