#git #file #sourceforge
#git #файл #sourceforge
Вопрос:
в данный момент мы создаем репозиторий утилит сообщества в sourceforge, который будет управляться несколькими «менеджерами», но доступен для сообщества. Я изначально загрузил все утилиты на вкладку ‘Files’ проекта. После этого я увидел, что git также можно использовать, что кажется нам удобным.
Итак, создали репозиторий проекта в git / SourceForge и запустили весь проект, и это нормально.
Вопрос в том, что у меня есть сильное ощущение, что файлы, перечисленные на вкладке ‘Files’ sourceforge, полностью отличаются от файлов, которые я вижу на вкладке ‘Git’.
Мы хотели бы управлять файлами из git, но при этом файлы должны быть видны и доступны на вкладке ‘Files’.
Возможно ли это? У меня такое ощущение, что файлы на вкладке ‘Files’ хранятся в другом месте, чем файлы на вкладке ‘Git’.
Заранее спасибо
Ответ №1:
Да, они находятся в совершенно разных местах в SF, и вы не можете синхронизировать их автоматически. Одна из причин, по которой вы не можете синхронизировать git и files, заключается в том, что репозитории git в SF являются пустыми, они не содержат рабочего каталога, они содержат только базу данных объектов и ссылки.
Знаете ли вы, что можете использовать ssh
для входа в SF, scp
, sftp
и rsync
для передачи файлов туда и обратно? Я использую его постоянно с 2004 года.
Для входа в свою учетную запись запустите
ssh -t $SF_USER@shell.sourceforge.net create
После входа в систему запустите sf-help --all
, чтобы просмотреть все ваши каталоги.
Файлы, репозитории и веб-файлы (вы знаете, что можете опубликовать сайт в SF?) находятся по путям, специфичным для проекта. Например, я являюсь участником проекта SQLObject, мое имя пользователя в SF phd
. Репозитории для проекта находятся по адресу /home/git/p/sqlobject/
, файлы находятся по адресу /home/frs/project/sqlobject/
, а веб-файлы (опубликованные в SQLObject) находятся по адресу /home/project-web/sqlobject/
. Это всего лишь пример, но ваши каталоги похожи.
Для загрузки файла я использую sftp frs.sourceforge.net:/home/frs/project/sqlobject
и загружаю локальные файлы в SF.
Для обновления веб-сайта я запускаю
rsync -hlrtP4 --del . web.sourceforge.net:/home/project-web/sqlobject/htdocs/
Замените sqlobject
на название вашего проекта и начните загрузку.
Комментарии:
1. Отлично! Спасибо. Теперь я понимаю, как это работает. Учитывая, что у меня может быть ssh на сервере sourceforge, я уверен, что вкладка File может быть передана git-клоном в репозиторий sourceforge git, который в этом случае будет работать идеально для меня. Просто нужно git pull каждый раз, когда поступает запрос от одного из администраторов репозитория
2. Что ж, это не работает: разрешений недостаточно для создания репозитория .git. Я попробую с rsync
3. Возможно, FRS и web не разрешают файлы с именами, начинающимися с точки.
rsync --exclude=.git/