Коллеги добрый день.
Прошу сразу не пинать ногами. Я сам абапер. Но по ходу дело приходится связываться с С# так как я с ним работал еще на 1й версии.
Потом ушел в SAP ABAP.
А git тогда еще не существовал.
Пишется сейчас проект для связи SAP с внешней системой. Пишу я его на C#.
Я один в конторе более менее знаю C#. У нас только одни АБАПЕРЫ.
А с Git вообще не имел дело. Наша версия SAP не знает о существовании Git.
В общем все по гайдам настроил. Публикуется проект на GitHub
мне для чего нужно. Поработать в офисе. Сохранить проект на github.
Прийти домой работать удаленно. То есть загрузить проект локально дома и так в общем бегать между офисом и удаленкой.
Загрузил я проект на GitHub. Все в общем как нужно. А вот папка reference не грузится на github.
Там нужные мне dll. в том числе от Sap dot net Connector.
Читаю что gitHub только для исходного кода. И dll туда не положить.
А как быть? грубо говоря нужные dll На флешке переснести? или через файл обменник?.
Как это делается правильно?
Я думал что весь проект в комплексе переносится на git. Ну чтобы я открыл на нужной мне другой машине где нет ничего.
И проект полностью открылся с нужными мне комплектом dll
Спасибо.
Здравствуйте, Hermitap, Вы писали:
H>Там нужные мне dll. в том числе от Sap dot net Connector.
в виде нагет-пакетов нет? используй относительные пути.
H>Читаю что gitHub только для исходного кода. И dll туда не положить.
можно любые файлы.
https://git-scm.com/book/ru/v2
Здравствуйте, Hermitap, Вы писали:
Я тоже не гуру в git, поэтому мои рекомендации следует перепроверить.
По вашим вопросам:
Можно ли (и нужно ли) хранить бинарные файлы в git?
Хранить можно, просто нужно помнить, что с бинарными данными git работает уже не столь эффективно, как с текстовыми (причем бинарными будут считаться, например, и файлы Office, и картинки, ...). И если ваши бинарные данные имеют большой объем и меняются довольно часто, вы скоро обнаружите, что ваш репозиторий разросся до солидных размеров (что не очень хорошо, но можно перетерпеть), и начинают тормозить некоторые операции с ним — например, клонирование (а это уже начинает раздражать).
Поэтому, копий на тему — хранить ли зависимости прямо в самом репозитории — сломано множество. У каждого подхода свои "за" и "против".
Я бы лично, поступал так:
— зависимости, которые являются частью Framework или доступны через NuGet — не хранить.
— зависимости, специфичные для вас (например, от других команд) — уточнить, можно ли перевести на NuGet (например, на том же GitHub сейчас, вроде, есть возможность создать
закрытый готовый репозиторий артефактов). Если это выглядит сложным (или кроме вас никому не нужным) — не заморачиваться и хранить в проекте.
Почему не попали ваши зависимости?
Скорее всего дело в файле
.gitignore.
В этом файле лежат маски файлов, которые Git-клиент, по умолчанию, должен пропускать при коммите (чтобы это работало одинаково для всех машин, на которых будет скачан ваш репозиторий, этот файл тоже кладут в репозиторий).
Посмотрите в корне вашего репозитория — наверняка .gitignore там есть, и наверняка в нем есть строчка(и) типа
*.dll
[Bb]in/
т.е. или маски файла или части пути к файлам из-за которых ваши файлы не попадают в репозиторий.
(Или можно из командной строки вызвать
git check-ignore, чтобы убедиться, что проблема в этом.
Если так и есть, то дальше можно сделать одно из:
— разово залить нужные файлы, игнорируя .gitignore (можно через опцию -f/--force в
git add)
— убрать строчку(и) из-за которых ваши файлы не попадают в репозиторий. Вариант сомнительный, т.к. скорее всего правило накрывает много чего.
— добавить в .gitignore (или как вариант — создать в нужном вам подкаталоге еще один .gitignoку — он будет работать только на эту подветку репозитория) правило, разрешающее именно ваши файлы.
Что-то типа (я плохо помню нюансы синтаксиса — нужно посмотреть в документации, но вроде "!" перед строчкой означает "убрать из игнорируемых те, которые подпадают под текущий шаблон")
!MyLibFolder/
Здравствуйте, vsb, Вы писали:
H>>Загрузил я проект на GitHub. Все в общем как нужно. А вот папка reference не грузится на github.
vsb>Что означает "не грузится"? Какая ошибка?
Никакой ошибки там нет. Бинарники занесены в шаблонный .gitignore.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Здравствуйте, Hermitap, Вы писали:
H>Я думал что весь проект в комплексе переносится на git. Ну чтобы я открыл на нужной мне другой машине где нет ничего.
H>И проект полностью открылся с нужными мне комплектом dll
https://git-lfs.github.com/
Здравствуйте, Hermitap, Вы писали:
H>В общем все по гайдам настроил. Публикуется проект на GitHub
А ничего, что ты код конторы публикуешь в интернетах? Или у вас платный аккаунт с приватной репой?
H>Загрузил я проект на GitHub. Все в общем как нужно. А вот папка reference не грузится на github.
H>Там нужные мне dll. в том числе от Sap dot net Connector.
А вот это, что? Как думаешь?
https://github.com/rsdn/nemerle/tree/master/boot
H>Читаю что gitHub только для исходного кода. И dll туда не положить.
Чушь это полная. Скорее всего у тебя в корне репы лежит файл .gitignore где и прописано, что длл-и нужно игнорировать.
Это можно обойти путем редактирования этого файла или вот так:
https://stackoverflow.com/questions/8006393/force-add-despite-the-gitignore-file
ЗЫ
Форум ты нашел не очень подходящий. К философии оно относится от слова никак.