#git #gitignore #git-flow #git-log #aws-codecommit
Вопрос:
На локальном компьютере и в репозитории AWS codecommit имелось имя папки profileimg. Эта папка заполняется изображениями, когда пользователь загружает изображения. Однако, когда я изменяю некоторый код в репозитории локального компьютера и git перемещается в удаленное репозиторий ( репозиторий AWS codecommit ), переопределение папки profileimg с пустыми данными и изображениями исчезает. Это был проект Laravel 8, размещенный в среде AWS beanstalk.
Что я пробовал до сих пор в местном репо git:
- $ git rm -r —кэшированные общедоступные/изображения/profileimg/*
- $ git update-индекс —предположим-неизменный общедоступный/изображения/профиль/*
Структура папок:
- общественный
- Изображения
- профиль
- Изображения
- .gitignore
.gitignore
#exclude everything
public/images/profileimg/*
public/images/profileVerifyDoc/*
#exception
!public/images/profileimg/.gitkeep
!public/images/profileVerifyDoc/.gitkeep
Кроме того, я создал файл .ebignore в репозитории AWS codecommit. На локальном компьютере также есть файл .gitignore. Любое предложение, пожалуйста.
Комментарии:
1. Можете ли вы проверить gitlog? можно ли сбросить ЗАГОЛОВОК фиксации, сколько изменений кода вы потеряете при сбросе ЗАГОЛОВКА, будет ли это доступным вариантом?
2. журнал git включает несколько коммитов, но проблема в том, что мне нужно включить пустую папку с именем «profileimg» в первую фиксацию, а затем после того, как мне не понадобится эта папка на локальном компьютере.
3. вместо этого создайте две неотслеживаемые папки, сохраняя имя папки в gitignore, чтобы обе папки не были сопоставлены и работали независимо.
4. текущий файл .gitignore имеет путь к папке «profileimg». как мне это сделать?
5. хорошо, еще один способ, которым вы можете это сделать, сохранить папку и избежать окн./
Ответ №1:
Создайте пустой файл с именем .gitkeep внутри profileimg, затем в файле .gitignore напишите:
# exclude everything
profileimg/*
# exception to the rule
!profileimg/.gitkeep
Комментарии:
1. спасибо за ответ. Это тоже не сработало. Тем не менее, переопределите файлы в удаленном каталоге после нажатия git. Есть ли что-то общее с AWS codecommit и codepipe? все решения не работали.
2. @aseladaskon Нет, похоже, это не проблема с AWS codecommit. Можете ли вы поделиться скриншотом структуры папок, в которой у вас есть файл profileimg/ и .gitignore?
3. Обновил вопрос
4. @aseladaskon можете ли вы опубликовать содержимое своего файла .gitignore?
5. @aseladaskon теперь вы должны зафиксировать свои неотслеживаемые файлы, а затем посмотреть, появятся ли новые локальные файлы внутри profilimg или только папка и.gitkeep.
Ответ №2:
папка profileimg создана для хранения изображений пользователей, которые меняются с течением времени. Когда я добавил новые изменения в базу кода и git отправил их в среду AWS Beanstalk, существующие файлы и папки были заменены новыми изменениями. Решение состоит в том, чтобы создать корзину S 3 или сохранить изображения в отдельном месте.
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts.design.html