Иван Будаков, в терминологии я как раз прекрасно разбираюсь. )) Понятие Push несёт в Git вполне конкретный смысл, а не то, что вы придумали. Файлы в гите нельзя пушить, пушат только ветки. А файл можно именно копировать в другое место, либо коммитить в ветку.
здесь мы пушим в гитхаб и гит в последствии уже заливает файлы по директориям
Это называется подмодули. Мы сначала создаём отдельный репозиторий для общей папки Catalog, а в других сайтах подключаем этот репозиторий как подмодуль. Затем когда мы меняем репозиторий Catalog, его правки автоматически попадут во все места. где этот подмодуль подключен. Изменяем в одном месте, и эти изменения применяются везде.
vanru, ну значит ты убил систему, в таких случаях принято откатывать её из бэкапа.
Но видимо у тебя его не делалось?
Папка действительно странная. Похоже там были жесткие ссылки на системные папки. И ты по факту удалил файлы/папки которые были и в корне диска и в temp.
Вспомнился старый анекдот про Norton Commander. Типа вижу слева диск С и справа диск С. Зачем мне два диска С? Ну я один и удалил ))
Файлы в рабочем каталоге это не мастер а лишь копия его последнего состояния. Пока ты ничего не закоммитил, мастер не изменится. Ты сейчас можешь смело попробовать просто переключиться в нужную ветку и гит попытается применить твои правки уже к той ветке. Это самый безболезненный способ исправить ошибку. Но если другая ветка сильно отличается от мастера, то возникнет конфликт и он не даст переключиться. Тогда можешь сбросить правки рабочего каталога командой, которую предложил Максим. Это точно поможет, но потеряешь сделанную работу. Придется заново редактировать.
Сергей Кореневский, не очень понимаю вопрос.
В любом случае SmartGit это просто графическая надстройка над Git и не может делать больше того, что умеет консольный Git. Он просто делает это более наглядно и удобно.
Что значит синхронизировать подпапку? В Git синхронизируются ветки, которые содержат снимок всего состояния проекта, значит синхронизироваться будет всё дерево папок начиная от корня проекта.
Возможно тебе надо копать в сторону sparse-checkout
Это когда из репозитория распаковывается только часть папок. Сам репозиторий продолжит содержать в себе весь проект. Данная функциональность была заложена в ядро Git уже давно, то удобные команды добавили только с версии 2.25
PanLipton, ну в логе никаких проблем не вижу. Всё сработало хорошо.
Ветка привязалась и твоя main полностью идентична ветке main на гитхабе.
Собственно и до pull она уже была идентична (Already up to date)
Слово master в этой команде это название ветки внешнего репозитория, а не локального. И названия не обязаны совпадать.
Судя по скрину, автор точно находится в локальной ветке master.
Ну тогда руками вычищай в текстовом редакторе. Не знаю чем ты пользуешься, но поиск и замена во всех файлах по шаблону это элементарная операция. Например в VSCode.
Честно говоря не представляю как можно держать в голове все модификации сайта без использования Git.
Это называется подмодули. Мы сначала создаём отдельный репозиторий для общей папки Catalog, а в других сайтах подключаем этот репозиторий как подмодуль. Затем когда мы меняем репозиторий Catalog, его правки автоматически попадут во все места. где этот подмодуль подключен. Изменяем в одном месте, и эти изменения применяются везде.