- An open source Git extension for versioning large files
- How it works:
- Getting Started
- Git LFS is an open source project
- Features
- Large file versioning
- More repository space
- Faster cloning and fetching
- Same Git workflow
- Same access controls and permissions
- Astra linux git lfs
- Step 2. Unpack the archive
- Step 3. Install the extension
- Step 4. Add Git LFS hooks to the repository
- How to use Git LFS
- Установка Gitea на Astra Linux. Мигрируем репозитории с Github. Часть 1.
- Установка
- Настройка сервиса для Gitea
- Настройка электронной почты
- Настройки сервера
- Заключение
- Установка хранилища больших файлов Git
- Дополнительные материалы
An open source Git extension for versioning large files
Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.
Homebrew: brew install git-lfs
MacPorts: port install git-lfs
How it works:
Getting Started
- Download and install the Git command line extension. Once downloaded and installed, set up Git LFS for your user account by running:
git add file.psd git commit -m "Add design file" git push origin main
Git LFS is an open source project
To start a discussion, file an issue, or contribute to the project, head over to the repository or read our guide to contributing.
If you’re interested in integrating Git LFS into another tool or product, you might want to read the API specification or check out our reference server implementation.
Features
Large file versioning
More repository space
Host more in your Git repositories. External file storage makes it easy to keep your repository at a manageable size.
Faster cloning and fetching
Download less data. This means faster cloning and fetching from repositories that deal with large files.
Same Git workflow
Work like you always do on Git—no need for additional commands, secondary storage systems, or toolsets.
Same access controls and permissions
Keep the same access controls and permissions for large files as the rest of your Git repository when working with a remote host like GitHub.
Astra linux git lfs
Click the link and download the archive.
Step 2. Unpack the archive
Go to the directory with archive and unpack it
$cd ~/Downloads $tar -xf git-lfs-linux-amd64-v2.9.0.tar.gz
Step 3. Install the extension
$chmod 755 install.sh $sudo ./install.sh
and you will get message that the extension initialized
Step 4. Add Git LFS hooks to the repository
In your repository direcotry, run
You’ll need to run this in your repository directory, once per repository.
How to use Git LFS
Git LFS can be used when you want to version large files, usually, valuable output data, which is larger than Github limit (100Mb). These files can be plain text or binaries.
ARFC Git Large File Storage is quite large, but be respectful to your colleagues and make sure you store only valuable data of reasonable (100Mb-5Gb) size. Consider using alternative storage options such as Box if version control is not necessary or if files of a larger size need to be stored.
To version large files in your repository:
- Select the file types you would like Git LFS to manage (i.e., Serpent ouput files has extension .m)
git add ubattery_dep.m git commit -am "Add isotopic composition after depletion" git push origin master
Установка Gitea на Astra Linux. Мигрируем репозитории с Github. Часть 1.
Я не буду рассматривать GitLab, так как он слишком требователен к ресурсам и его функционал будет избыточен для повседневного применения.
В этой статье мы рассмотрим установку Gitea – сервер для хостинга репозиториев Git. Он нетребователен к ресурсам и легко настраивается и устанавливается.
Установка
Единственный быстрый способ установки Gitea – с помощью готового исполняемого файла или из исходного кода.
Сборка из исходного кода требует много времени и усилий, поэтому устанавливать мы его будем из исполняемого файла, загруженного с сайта Gitea.
В связи с всё большим распространением блокировок со стороны Запада и угрозами возникающими при загрузке программного обеспечения с российских IP-адресов я рекомендую использовать OpenVPN для загрузки, как это сделать описано в этой статье.
wget -O gitea https://dl.gitea.io/gitea/1.16.5/gitea-1.16.5-linux-amd64
sudo adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git
Создадим требуемые папки и назначим права доступа:
sudo mkdir -p /var/lib/gitea/ sudo chown -R git:git /var/lib/gitea/ sudo chmod -R 750 /var/lib/gitea/ sudo mkdir /etc/gitea sudo chown root:git /etc/gitea sudo chmod 770 /etc/gitea
Скопируем исполняемый файл:
cp gitea /usr/local/bin/gitea
Настройка сервиса для Gitea
sudo mcedit /etc/systemd/system/gitea.service
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target ### # Don't forget to add the database service dependencies ### # #Wants=mysql.service #After=mysql.service # #Wants=mariadb.service #After=mariadb.service # #Wants=postgresql.service #After=postgresql.service # #Wants=memcached.service #After=memcached.service # #Wants=redis.service #After=redis.service # ### # If using socket activation for main http/s ### # #After=gitea.main.socket #Requires=gitea.main.socket # ### # (You can also provide gitea an http fallback and/or ssh socket too) # # An example of /etc/systemd/system/gitea.main.socket ### ## ## [Unit] ## Description=Gitea Web Socket ## PartOf=gitea.service ## ## [Socket] ## Service=gitea.service ## ListenStream= ## NoDelay=true ## ## [Install] ## WantedBy=sockets.target ## ### [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/var/lib/gitea/ # If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file # (manually creating /run/gitea doesn't work, because it would not persist across reboots) #RuntimeDirectory=gitea ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini Restart=always Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea # If you install Git to directory prefix other than default PATH (which happens # for example if you install other versions of Git side-to-side with # distribution version), uncomment below line and add that prefix to PATH # Don't forget to place git-lfs binary on the PATH below if you want to enable # Git LFS support #Environment=PATH=/path/to/git/bin:/bin:/sbin:/usr/bin:/usr/sbin # If you want to bind Gitea to a port below 1024, uncomment # the two values below, or use socket activation to pass Gitea its ports as above ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE ### [Install] WantedBy=multi-user.target
Активируем и запустим сервис:
sudo systemctl enable gitea sudo systemctl start gitea
sudo systemctl status gitea ● gitea.service - Gitea (Git with a cup of tea) Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-04-16 20:23:26 +11; 35min ago Main PID: 667 (gitea) Tasks: 10 (limit: 9830) CGroup: /system.slice/gitea.service └─667 /usr/local/bin/gitea web --config /etc/gitea/app.ini
Откроем страницу с адресом нашего сервера и портом 3000:
Откроется страница установки Gitea:
В этом окне я рекомендую сразу настраивать всё по максимуму, иначе вам придется потом менять настройки через ini-файл.
Настройка электронной почты
В разделе «Настройки электронной почты» укажите специально созданный ящик, например:
Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
Адрес сервера, логин и пароль. Данный ящик будет использоваться для отправки уведомлений.
Требовать подтверждение по электронной почте для регистрации Разрешить почтовые уведомления
Настройки сервера
Включить локальный режим – установить чтобы не использовать сторонние CDN-сети таким образом даже блокировка доступа со стороны Запада не повлияет на работу сервера, всё что нужно будет загружаться с вашего сервера. Как минус – возрастет нагрузка и трафик к серверу.
Отключить Gravatar — Вы можете отключить использование Gravatar на своем сайте
Следующие вы можете снять, если не планируете просто размещать код и не хотите разрешать пользователям регистрироваться:
- Включить федеративные аватары
- Включить вход через OpenID
- Включить регистрацию через OpenID
Отключить самостоятельную регистрацию
Чтобы отключить регистрацию. Тогда создавать учетные записи сможете только вы, как администратор!
Если же вы создаете закрытый репозиторий установите галочку:
Требовать авторизации для просмотра страниц
Таким образом только зарегистрированные пользователи будут видеть содержимое сайта!
Скрывать адреса электронной почты по умолчанию – лучше установить сразу
- Разрешить создание организаций по умолчанию — Если вы планируете создание личного репозиция можно отключить
Скрытый почтовый домен – можно установить на несуществующий почтовый сервер, например
Настройки учётной записи администратора
Заполните поля, чтобы создать для себя учетную запись администратора!
Заполните и измените требуемые поля.
Я рекомендую создать поддомен для git сервера, например:
В следующей статье мы настроим реверс-прокси на nginx и спрячем за ним наш сервер!
Откроем панель управления:
С помощь этой панели вы можете добавлять пользователей и репозитории и управлять некоторыми настройками сервера.
Заключение
Сегодня мы рассмотрели установку сервера для хостинга git-репозиториев Gitea.
Настроили службу для запуска;
Залогинились на сайт и перешли в панель управления.
В следующей статье мы настроим реверс-прокси на nginx и получим для сервера SSL сертификат letsencrypt.
Установка хранилища больших файлов Git
Чтобы использовать Git LFS, необходимо загрузить и установить новую программу отдельно от Git.
- Перейдите на сайт git-lfs.github.com и нажмите кнопку Скачать. Кроме того, Git LFS можно установить с помощью диспетчера пакетов:
- Чтобы использовать Homebrew, выполните команду brew install git-lfs .
- Чтобы использовать MacPorts, выполните команду port install git-lfs .
Если вы устанавливаете Git LFS с помощью Homebrew или MacPorts, перейдите к шагу 6.
Примечание. Путь к файлу, который вы используете после cd , зависит от операционной системы, скачанной версии Git LFS и места сохранения скачанных файлов Git LFS.
$ ./install.sh > Git LFS initialized.
$ git Lfs install > Git LFS initialized.
Совет. Дополнительные сведения об альтернативных способах установки Git LFS для Windows см. в этом руководстве по началу работы.
$ git Lfs install > Git LFS initialized.
Совет. Дополнительные сведения об альтернативных способах установки Git LFS для Linux см. в этом руководстве по началу работы.
Примечание. Путь к файлу, который вы используете после cd , зависит от операционной системы, скачанной версии Git LFS и места сохранения скачанных файлов Git LFS.
$ ./install.sh > Git LFS initialized.
$ git Lfs install > Git LFS initialized.