Как перенести git репозиторий из git/ в git/src/?

Ссылка скопирована
Git
1 ответ

Здравствуйте, столкнулся с такой задачей, у меня есть репозиторий проекта git/ в котором лежит много ненужных файлов. Можно конечно просто убрать их отслеживание через gitignore, но мне нужно, чтобы на удаленном репозитории сохранялись и открывались только файлы из git/src/. То есть чтобы при открытии удаленного репозитория у меня не было папки src, а сразу были исходные файлы. Как сделать это, не удаляя репозиторий на удаленном сервере?

Дополнительно:

пробовали переместить папку .git в src?

  • Виктор, да, но тогда ничего по факту не изменяется, мне нужно чтобы в ветке исчезли все файлы из git/ и остались только из git/src/
  • SomeOne42, а новый репозиторий сделать не проще? и запушить его в существующий через --force
  • Подобную проблему уже обсуждали, попробуйте поискать тут решение через использование filter repo
  • Ответы:

    Можно конечно просто убрать их отслеживание через gitignore

    Нет нельзя. Игнор действует только на ещё неотслеживаемые файлы. Если же файлы уже в репозитории, то они будут отслеживаться пока вы из оттуда не удалите.

    Как сделать это, не удаляя репозиторий на удаленном сервере?

    Если вам так важно именно «неудаление» то совет Виктора подойдет. Переместите .git в подкаталог src/ и гит будет считать что все файлы из корны проекта исчезли а содержимое каталога src переместилось в корень. Останется только закоммитить эти перемещения и удаления. Все старые файлы при этом останутся в истории проекта.

    Если вам не важна история, то проще удалить репозиторий и создать новый в src. Так вы избавитесь от мусора.

    Есть более красивое решение, когда сохранится вся история проекта, но выглядеть это будет как если бы вы изначально создали репо в каталоге src. Но по факту, тоже будет создан новый репозиторий.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Никита Орлов Ответ

    Для переноса git репозитория из одной директории в другую, в данном случае из git/ в git/src/, вам потребуется выполнить несколько простых шагов.

    1. Перейдите в корневую директорию вашего репозитория с помощью команды cd:

    cd path/to/git/

    cd path/to/git/

    2. Создайте новую директорию src внутри текущей директории git:

    mkdir src

    mkdir src

    3. Переместите все файлы и директории из текущей директории git в новую директорию src:

    mv * src/

    mv * src/

    4. Перейдите в новую директорию src:

    cd src

    cd src

    5. Инициализируйте git в этой директории, если она еще не является репозиторием:

    git init

    git init

    6. Добавьте все файлы в индекс:

    git add .

    git add .

    7. Сделайте коммит с сообщением о перемещении репозитория:

    git commit -m "Move repository to src directory"

    git commit -m "Move repository to src directory"

    8. Если репозиторий уже связан с удаленным репозиторием, вам нужно будет обновить ссылку на удаленный репозиторий:

    git remote set-url origin new_remote_url

    git remote set-url origin new_remote_url

    Где new_remote_url - новый URL удаленного репозитория.

    После выполнения этих шагов ваш репозиторий будет успешно перемещен из директории git/ в git/src/. Не забудьте обновить все ссылки на репозиторий в вашем рабочем окружении, если они есть.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно