@sw213

Как добавить отдельную папку в новую ветку?

заливаю проект на гитхаб git add . (все файлы)
потом хочу в новую ветку залить отдельную папку (проект содержит папку client,server)
хочу 1 ветку, в которой лежит и то и то и отедльно ветку где лежит client и где лежит server
Но при следующем добавлении git add client (когда уже на другую ветку переключился) ничего не происходит, и когда ввожу git status, то пишет нечего коммитить, нет изменений в рабочем каталоге
  • Вопрос задан
  • 1366 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Решение предельно простое. Допустим у нас есть проект в котором ветке main лежат две папки: client и server

Команда git subtree push --prefix client origin client отправляет ваш клиент из подкаталога client в локальном репозитории в ветку client внешнего репозитория origin.

Конкретно в этом случае:

git subtree push — запускает команду Git для отправки изменений из подкаталога во внешний репозиторий.
--prefix client — указывает на подкаталог client, который необходимо отправить во внешний репозиторий.
origin — имя внешнего репозитория, куда будет отправлено содержимое подкаталога.
client — название ветки, в которую будут отправлены изменения.

В результате выполнения этой команды, содержимое подкаталога client будет отправлено в ветку client внешнего репозитория origin, как если бы корень репозитория изначально был в каталоге client, т. е. в ветке не будет самого каталога client, там будет только его содержимое.

Аналогично с сервером git subtree push --prefix server origin server
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov
Помог ответ? Отметь решением.
Ну так всё верно, коммитить нечего. Папка client уже в репозиторий добавлена. Вы почитайте что делает git add. Да и желание странное, ветки под папки выделять. Вы какую проблему решить пытаетесь этим? Выглядит так, будто надо разделить репозиторий на 2 отдельных.
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
при следующем добавлении git add client (когда уже на другую ветку переключился) ничего не происходит

Так если ты добавил каталог со всем содержимым в одну ветку, а потом переключился на другую ветку, в которой их не было, они будут удалены из рабочей копии. Простой вариант обойти это -- скопировать каталог перед переключением веток, переключить, скопировать обратно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы