Заменить логотип и название сайта
Завершена
Проект: Пивная карта
Планируемый запуск: | 23.04.2021 | Дата начала: | 23.04.2021 | Планируемое завершение: | 24.04.2021 | Дата завершения: | 23.04.2021 |
Проект | Задача | Статус | Дата постановки | Начало | Конец | Кто создал |
---|---|---|---|---|---|---|
Пивная карта | Заменить логотип и название сайта | Завершена | 23.04.2021 13:18:30 | 23.04.2021 13:18:35 | 23.04.2021 15:31:56 |
Николай, как сделать изменения разобрался, а кот как закомминить - не очень.
У меня проект на 3100 порту в докере крутится. Изменения в директории prisma-cms/pivkarta.ru-2
Изменения:
1. добавлена картинка логоттипа
2. изменены /home/dima/docker/docker-pivkarta/prisma-cms/pivkarta.ru-2/src/pages/_App/Layout/MainMenu/index.tsx и /home/dima/docker/docker-pivkarta/prisma-cms/pivkarta.ru-2/src/pages/_App/Layout/MainMenu/styles.ts
А вот при комманде git status выдает такую штуку:
------
Ваша ветка обновлена в соответствии с «origin/master».
Изменения, которые не в индексе для коммита:
(используйте «git add <файл>…», чтобы добавить файл в индекс)
(use "git restore <file>..." to discard changes in working directory)
(сделайте коммит или отмените изменения в неотслеживаемом или измененном содержимом в подмодулях)
изменено: prisma-cms/pivkarta.ru (изменено содержимое)
изменено: prisma-cms/pivkarta.ru-2 (изменено содержимое, неотслеживаемое содержимое)
нет изменений добавленных для коммита
(используйте «git add» и/или «git commit -a»)
----
По идее должны быть файлы, в которых изменения внесены. Это из-за докера?
Давай по-порядку.
git remote -v что показывает?
origin git@github.com:Pivkarta/docker.git (fetch)
origin git@github.com:Pivkarta/docker.git (push)
Как видишь, это не проект пивкарты, верно?
Так вроде в докере сидит и пивкарта. Или нет?
Сидит. Но суб-модулем. То есть это гит-проект в гит-проекте. И когда ты говоришь про гит, докер сюда не примешивай. Это разные вещи и разные уровни. Докер обеспечивает контейнеризацию, а гит - версионность файлов. И если гит еще хоть как-то может использоваться докером (для скачивания исходников проектов), то гит о докере вообще ничего не знает.
Мы стягивали гит-проект с субмодулями. Вот здесь можно увидеть эти модули: https://github.com/Pivkarta/docker/blob/af08a8295e448d09438bad1faa3971eec5574df1/.gitmodules
Можно и командой увидеть
git submodule status
То есть для того, чтобы закоммитить изменения в проект-субмодуле, надо зайти в папку этого субмодуля. В данном случае в prisma-cms/pivkarta.ru-2
А когда ты выполняешь гит-команды в проекте, в котором имеются субмодули, то он тебе только говорит о том, что есть там изменения или нет. Но не говорит какие. И не закоммитит в себя, если там изменения незакоммиченные.
Супер, спасибо: разбираюсь с субмодулями
Оказалось вполне логично: надо вызывать комманды из-под папки субмодуля)
Именно так.
Не, ну всё через ж)))
git push origin master
Отдаёт
usky > pre-push (node v14.16.1)
$ tsc --pretty --noEmit
Everything up-to-date
А коммит как был твой полдений на гите, так и остался. Где он мог потеряться, как думаешь?
А git status что показывает?
HEAD отделён начиная с 18c451a
нечего коммитить, нет изменений в рабочем каталоге
Вот. У тебя HEAD - не мастер. Надо переключиться в мастер для надежности.
Но сначала надо посмотреть что у тебя вообще в локале имеется.
git log посмотри какой последний коммит, если ты что коммитил. А то может у тебя и коммитов по какой-то причине нет локально и действительно нечего выливать.
К слову, тебе и сообщает, что сейчас у тебя последний коммит https://github.com/Pivkarta/pivkarta.ru-2/commit/18c451a2abb28e9674a6a1f879765dc94d774860
Ты видимо изменения в другой папке делал. Ищи где делал.
dima@dima-Lenovo-ideapad-720-15IKB:~/docker/docker-pivkarta/prisma-cms/pivkarta.ru-2$ git log
commit e15c969195e5fd514ac03e2feac45119234668ff (HEAD)
Author: Dima <>
Date: Fri Apr 23 17:33:30 2021 +0300
Change logo in header
Сделай git push --all
Посмотрю что и как.
А предпоследний - твой
commit 18c451a2abb28e9674a6a1f879765dc94d774860 (origin/master, origin/HEAD, master)
Author: Fi1osof <>
Date: Tue Apr 6 08:47:44 2021 +0300
Added Dockerfile
Выяснилось следующее:
из-за того, что не перешел в master git checkout master
git checkout master
выдал
Предупреждение: вы оставляете позади 1 коммит не соединенную ни с одной из ваших веток:
e15c969 Change logo in header
Если вы хотите сохранить их с помощью создания новой ветки, то сейчас самое время
сделать это с помощью:
git branch <имя-новой-ветки> e15c969
Переключено на ветку «master»
Ваша ветка обновлена в соответствии с «origin/master».
Плюс ко всему: изменения, которые были в коммите - похерились. Я так понимаю - при переходе на мастер, прошла синхронизация с гитхабом?
Вот. Это произходит потому что когда мы коммитим гит-проект с субмодулями, то коммитятся из субмодулей конкретные коммиты (сорри за каламбур). И когда мы клонируем проект с рекурсией, то субмодули не в мастере сливаются, а с этими коммитами (хотя можно и конкретный бранч указать для субмодуля). В общем, в таких случаях перед работой в конкретном субмодуле требуется переключиться в мастер (или другую нужную ветку, если это не master).
git checkout master
Что нам делать в данном случае? Собственно, гит сам сказал что делать. Мы и сделаем:
1. Создаем бранч из коммита
git branch dev e15c969
2. Переключаемся в master
git checkout master
3. Мержим (сливаем) изменения
git merge dev
4. Выливаем на гитхаб
git push -u origin master
5. Заходим на гитзаб и убеждаемся что коммит вылит в мастер
6. Дропаем (удаляем) дев-ветку
git branch -D dev
ima@dima-Lenovo-ideapad-720-15IKB:~/docker/docker-pivkarta/prisma-cms/pivkarta.ru-2$ git branch dev e15c969
dima@dima-Lenovo-ideapad-720-15IKB:~/docker/docker-pivkarta/prisma-cms/pivkarta.ru-2$ git checkout master
Уже на «master»
Ваша ветка обновлена в соответствии с «origin/master».
dima@dima-Lenovo-ideapad-720-15IKB:~/docker/docker-pivkarta/prisma-cms/pivkarta.ru-2$ git push -u origin master
husky > pre-push (node v14.16.1)
$ tsc --pretty --noEmit
Ветка «master» отслеживает внешнюю ветку «master» из «origin».
Everything up-to-date
На гитхабе ничего не появилось(
Похоже надо заново делать изменения и коммит?
А где?
3. Мержим (сливаем) изменения
git merge dev
Есть! Ура! Спасибо)))
Вот. Еще один кейс в копилку :)
Поверь, такое часто встречается. С гитом вообще очень много коварных тонкостей.