Перенос всего содержимого репозитория в каталог другого существующего репозитория

Как вы можете видеть здесь:https://packages.debian.org/en/buster/wpasupplicantwpasupplicant зависит от тех пакетов, которые упомянуты в вашем заголовке. Вы можете вручную загрузить эти файлы. Установка пакетов без установки их зависимостей, вероятно, может привести к поломке вашей системы, но это возможно с помощью dpkg, как вы можете прочитать здесь :https://askubuntu.com/q/74523/196781. -Также есть способ извлечьhttps://packages.debian.org/en/buster/wpasupplicantи изменить его управляющий файл, чтобы иметь меньше зависимостей, и переупаковать его снова. Таким образом, вы можете установить его с помощью apt -get. Но я не уверен, что ваша система будет делать в случае необходимости использовать зависимости по умолчанию, которые тогда будут недоступны из-за того, что они не установлены. Простая распаковка DEB, редактирование postinst и переупаковка DEB

0
13.11.2021, 09:30
2 ответа

Нет встроенной -концепции перемещения файлов между репозиториями. Вы можете скопировать файлы и по отдельности, если хотите, можете удалить их из старого репозитория.

Предположим, вы хотите переместить файлы из ветки masterв https://github.com/roiko/xв ветку mainв https://github.com/roiko/yи хотите переместить файлы в каталог subdir.

Вот способ перемещения файлов и сохранения их истории. В истории файлы будут записаны как находящиеся в корне, затем перемещенные в subdirи «импортированные». Также можно записать файлы, которые всегда находились под subdir, но для этого требуются дополнительные инструменты. Предупреждение :непроверенный код.

  1. Сделайте рабочую копию с x и y доступными как удаленные

    git clone https://github.com/roiko/y
    cd y
    git remote add x https://github.com/roiko/x
    git fetch x
    
  2. Переместите файлы из старого репозитория в подкаталог. Я предполагаю, что подкаталог еще не существует в x. Мы создадим временную локальную ветку x-moveдля переноса. Он начинается с x/masterи добавляет фиксацию перемещения.

    git checkout -b x-move x/master
    mkdir subdir
    shopt -s extglob dotglob
    git mv -- !(.git|subdir) subdir/
    git commit -m 'Move everything to subdir/'
    

    Команда shoptпредназначена для bash. В zsh вместо этого используйте setopt kshglob dotglob.

  3. Импорт перемещенных файлов в y.Это означает создание локальной ветки для работы с содержимым yи слияние ветки x-move, которую мы создали на предыдущем шаге.

    git checkout -b main y/main
    git merge x-move
    git commit -m 'Import files from roiko/x under subdir'
    
  4. Нажмите результат.

    git push origin
    
  5. При необходимости удалите репозиторий x. Все содержание и история его ветки masterтеперь записаны в y, а другие ветки, выпуски и т. д. — нет.

1
13.11.2021, 11:56

Если вы не заботитесь о сохранении истории x, вот как переместить ее вy:

  1. Клонировать оба проекта

    git clone https://github.com/roiko/x
    git clone https://github.com/roiko/y
    
  2. Скопируйте все из xвy

    cp -a x y/
    
  3. Создайте коммит, содержащий все скопированные данные

    cd y
    git add x
    git commit -m "Import files from roiko/x"
    
  4. Нажмите обновленныйy

    git push
    
0
14.11.2021, 15:39

Теги

Похожие вопросы