Вопрос нуба по Git
От: Hermitap Украина  
Дата: 11.02.22 07:11
Оценка: :)
Коллеги добрый день.

Прошу сразу не пинать ногами. Я сам абапер. Но по ходу дело приходится связываться с С# так как я с ним работал еще на 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

Спасибо.
Отредактировано 11.02.2022 7:12 Hermitap . Предыдущая версия . Еще …
Отредактировано 11.02.2022 7:12 Hermitap . Предыдущая версия .
Re: Вопрос нуба по Git
От: vaa https://www.youtube.com/playlist?list=PLtrvASfI1KW7VOYRKjglcagQzWLoxlncl
Дата: 11.02.22 07:44
Оценка:
Здравствуйте, Hermitap, Вы писали:




H>Там нужные мне dll. в том числе от Sap dot net Connector.

в виде нагет-пакетов нет? используй относительные пути.
H>Читаю что gitHub только для исходного кода. И dll туда не положить.
можно любые файлы.


https://git-scm.com/book/ru/v2
Re: Вопрос нуба по Git
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 11.02.22 08:32
Оценка: 30 (3)
Здравствуйте, 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/

Re[2]: Вопрос нуба по Git
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.02.22 10:34
Оценка: +1
Здравствуйте, Михаил Романов, Вы писали:

МР>Можно ли (и нужно ли) хранить бинарные файлы в git?

МР>Хранить можно, просто нужно помнить, что с бинарными данными git работает уже не столь эффективно, как с текстовыми (причем бинарными будут считаться, например, и файлы Office, и картинки, ...). И если ваши бинарные данные имеют большой объем и меняются довольно часто, вы скоро обнаружите, что ваш репозиторий разросся до солидных размеров (что не очень хорошо, но можно перетерпеть), и начинают тормозить некоторые операции с ним — например, клонирование (а это уже начинает раздражать).

Для этого же git lfs придуман, его и используем, проблем нет.
https://elibrary.ru/author_counter.aspx?id=875549
Re: Вопрос нуба по Git
От: vsb Казахстан  
Дата: 11.02.22 13:15
Оценка:
Здравствуйте, Hermitap, Вы писали:

H>Загрузил я проект на GitHub. Все в общем как нужно. А вот папка reference не грузится на github.


Что означает "не грузится"? Какая ошибка?

H>Читаю что gitHub только для исходного кода. И dll туда не положить.


Враньё. Клади что хочешь. В разумных рамках, конечно, всё-таки это бесплатный сервис. Насколько я знаю, ограничение — 100 MB на файл, 100 GB на весь репозиторий.

В гит не нужно класть то, что ты собираешь сам из этих исходников.
Отредактировано 11.02.2022 13:18 vsb . Предыдущая версия . Еще …
Отредактировано 11.02.2022 13:16 vsb . Предыдущая версия .
Re[2]: Вопрос нуба по Git
От: Ночной Смотрящий Россия  
Дата: 11.02.22 13:49
Оценка: 14 (1)
Здравствуйте, vsb, Вы писали:

H>>Загрузил я проект на GitHub. Все в общем как нужно. А вот папка reference не грузится на github.

vsb>Что означает "не грузится"? Какая ошибка?

Никакой ошибки там нет. Бинарники занесены в шаблонный .gitignore.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Вопрос нуба по Git
От: #John Европа https://github.com/ichensky
Дата: 11.02.22 15:10
Оценка: 4 (1)
Здравствуйте, Hermitap, Вы писали:

H>Я думал что весь проект в комплексе переносится на git. Ну чтобы я открыл на нужной мне другой машине где нет ничего.

H>И проект полностью открылся с нужными мне комплектом dll

https://git-lfs.github.com/
Re: Вопрос нуба по Git
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.02.22 20:08
Оценка:
Здравствуйте, 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

ЗЫ

Форум ты нашел не очень подходящий. К философии оно относится от слова никак.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Вопрос нуба по Git
От: pugv Россия  
Дата: 17.02.22 14:05
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>А ничего, что ты код конторы публикуешь в интернетах? Или у вас платный аккаунт с приватной репой?


У гитхаба давно есть приватные репы в бесплатных аккаунтах, вроде даже неограниченным количеством.
http://www.brainbench.com/images/certlogo/color/mastercert/cppprogrammer.gif http://www.brainbench.com/images/certlogo/color/mastercert/netframework40.gif
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.