Місце для зберігання дешево, тому це не дуже переконливий аргумент, чому слід чи не слід перевіряти файли.
Натомість Ви можете звернутися до мети СКМ. Кожен файл, який відстежується SCM, означає певну потребу в управлінні паралельними, розподіленими змінами, які робить ваша команда. Нічого цього насправді не видно, поки два члени команди не спробують змінити один і той же файл. Вирішення цих змін - це насправді SCM, запобігання випадкового перезапису роботи чергових розробників, і, сподіваємось, автоматизація процесу об'єднання цих змін.
Об'єднання бінарних файлів зазвичай є справжньою проблемою, оскільки загальний інструмент злиття не може здогадатися, як повинен працювати злитий бінарний файл. Він не може знати достатньо про те, як працюють індекси або зміщення покажчиків у файлі, якщо спеціально не розроблено для розпізнавання конкретного типу файлу.
Це означає, що розробити бінарний файл вручну до розробленого розробника, а потім сказати SCM, що файл був таким чином об’єднаний. Оскільки це робиться розробником, злиття може насправді не охоплювати всі зміни як попередньої реєстрації, так як файл є двійковим, не існує автоматизованого способу перевірки злиття.
Для бінарних форматів, які справді представляють джерела проектів, наприклад, художні активи, це невдалий, але необхідний крок. Однак результати нарощування не є джерелами. Немає необхідності їх об'єднувати, оскільки джерела можуть бути об'єднані і отриманий збірний вихід може бути відновлений. Відстеження та управління цими змінами - це 100% відходи. Він витрачає ресурси SCM, хоч і не дуже, але він також витрачає час розробника, минаючи помилкові збої злиття. Час розробника дуже дорогий, і все, що ставить його на сміття, - це рак.
З іншого боку, є певний випадок, коли результати збірки повинні бути заархівовані. Будь-яка версія проекту, яка коли-небудь була відправлена або розгорнута, повинна, ймовірно, зберігатися на невизначений термін. Маючи точну, байт для байт-копії фактичної збірки, з якою у клієнта виникають проблеми, можна зробити підтримку цього клієнта набагато простішою, оскільки у вас буде точна версія, яку він має.
Таке резервне копіювання, ймовірно, не повинно бути в тому ж сховищі, що і вихідний код, оскільки вони, як правило, дотримуються різних графіків і мають в основному різні структури.