Основная задача Git — гарантировать, что вы не потеряете внесенные изменения. Но эта система также предназначена для предоставления вам полного контроля над процессом разработки. Среди прочего вы сами определяете то, как выглядит история вашего проекта. Такая свобода создает и вероятность потери коммитов.
👉 Какие команды предоставляет Git для перезаписи истории?
📌 Git предоставляет несколько способов изменения истории и отмены изменений:
✔️Используйте команду git commit --amend (--no-edit/-m "comment") для изменения последнего коммита
✔️Используйте команду git rebase для объединения коммитов и изменения истории ветки (git rebase -i даст вам более точный контроль над изменениями истории)
✔️Если вы завершили перебазирование, а затем решили, что полученный результат это не то, что вам нужно — воспользуйтесь командой git reflog, чтобы восстановить предыдущую версию вашей ветки
#вопросы_с_собесов #устрой_деплой
🤖 4 сферы применения ChatGPT, Bing, Bard и Claude 2
В этой статье мы разберём различные способы применения популярных ИИ с учётом инструментов, доступных на лето 2023 года.
🔗 Основной сайт
🔗 Зеркало
SELECT * FROM Episodes WHERE YEAR(published_at) > 2022
Думаете это все, на что способен SQL? Антон Жиянов, энтузиаст SQLite, красочно объясняет, что это заблуждение! Этот 2-х часовой выпуск можно смело использовать при подготовке к собеседованию👇
✔️Массивы, графы, рекурсия и многое другое
✔️Как готовить SQL с заботой о быстродействии и безопасности ваших баз данных
✔️Использование SQL для анализа данных
➡️ YouTube | Apple Подкасты |Google Подкасты | Яндекс Музыка
#подкасты #матчасть
🔥 Дайджест интересных новостей за неделю для разработчика и не только
📌 ИИ (куда же без него)
🤖 Команда Meta* AI представила второе поколение Llama с открытым исходным кодом и новый ИИ-инструмент CM3Leon для генерации изображений
🤖 Ученые выяснили, что платный ChatGPT отупел, а бесплатный стал умнее
🤖 Сбер открывает доступ к нейросетевой модели ruGPT-3.5
🤖 Apple тестирует свой чат-бот c ИИ
🤖 Wix запустит генерацию сайтов при помощи ИИ
📌 Общие темы
▫️Релиз Rust 1.71
▫️Релиз Kotlin 1.9.0
▫️Релиз Android 14 Beta 4
▫️Релиз Podman Desktop 1.2
▫️Для СУБД PostgreSQL представлен движок хранения OrioleDB, который не требует использования периодически запускаемого процесса VACUUM для сборки мусора
▫️Релиз СУБД MySQL 8.1.0
▫️Релиз фреймворка компьютерного зрения и глубокого обучения Savant 0.2.4
▫️Релиз VirtualBox 7.0.10
▫️Релиз Chrome 115 и Chrome OS 115
▫️Релиз Qt Creator 11.0
*организация, деятельность которой запрещена на территории РФ
#чтопроисходит
Главное событие лета в Казани — IT Community Day Сбера 💻
Мы ждем вас 29 июля на первой большой ИТ конференции, которая пройдет в новом крутом технохабе Сбера и потрясающей крыше ИТ Парка им Б.Рамеева.
В программе:
👉 20 топовых спикеров Сбера на 3 параллельных сценах
👉 8 тематических стримов: от DS до DevOps, от Java до Soft Skills
👉 квиз и незабываемые активности на протяжении всего мероприятия
👉 нетворкинг, общение с крутыми спецами, HR Speed Dating
😎 After Party на крыше ИТ-парка
Встречаемся 29 июля в 12:00 по адресу: ул. Спартаковская, 2.
Обязательно зарегистрируйтесь по ссылке! 💚
⚙️ 3 совета по использованию Git для начинающих
Разберем полезные советы по работе с Git: просмотр журналов, сводки коммита и сравним команды merge и rebase.
🔗 Основной сайт
🔗 Зеркало
💭 Как в вашей компании/команде организовано тестирование проектов? Есть ли отдельная команда QA, или все ложится на плечи разрабов? Применяете ли вы подход «Разработка через тестирование» (test-driven development, TDD)?
#холивар
Представьте, что вы начали работать над новой фичей в отдельной ветке, после чего другой участник команды добавляет новые коммиты в главную ветку main. Возникает история форков, знакомая каждому, кто использовал Git для совместной работы.
А теперь предположим, что новые коммиты в ветке main затрагивают фичу, над которой вы работаете. Каким способом можно внести изменения из одной ветки в другую?
В Git есть два способа сделать это: слияние или перебазирование.
📌 Способ слияния (merge)
> git checkout feature
> git merge main
➡️или в одну строку: git merge feature main
Эта команда создает в ветке feature новый «коммит слияния», связывающий истории обеих веток. Это отличная неразрушающая операция, при которой существующие ветки никак не изменяются.
Но! Каждый раз, когда вам будет необходимо включить вышестоящие изменения, в ветку feature будет попадать внешний коммит слияния.
Если работа в главной ветке main ведется активно, история вашей ветки feature быстро засорится.
📌 Способ перебазирования (rebase)
Вместо слияния можно выполнить перебазирование ветки feature на ветку main с помощью следующих команд:
> git checkout feature
> git rebase main
В результате вся ветка feature окажется поверх ветки main, включая в себя все новые коммиты в ветке main.
Если вместо команды merge при коммитах используется rebase, эта команда перезаписывает историю проекта, создавая новые коммиты для каждого коммита в исходной ветке.
☑️ Главное преимущество rebase — более чистая история проекта. Эта операция устраняет ненужные коммиты слияния, необходимые для git merge.
#вопросы_с_собесов #easy
10 полезных книг для Java программиста на русском языке
Небольшая подборка интересных и полезных книг для Java программиста по самому языку, фреймворкам и программированию в целом.
🔗 Основной сайт
🔗 Зеркало
#матчасть
💭 Недавно мы спрашивали вас о том, какие самые глупые вопросы вам задавали на собеседованиях? Ваши ответы в очередной раз доказывают, насколько странными они могут быть 🤦♂️
Вдогонку к теме собесов: поделитесь топом самых крутых вопросов с собеседований, которые вам запомнились👇
#холивар
Весенний выпуск Release Radar от GitHub уже здесь
Release Radar — это подборка крупных обновлений наиболее примечательных и интересных проектов с открытым исходным кодом.
🚀 QuestDB 7.0
🚀 Microsoft Kiota 1.0
🚀 JSON Crack 3.0
🚀 Yachay AI 1.0
🚀 Chat Analytics 1.0
🚀 Zammad 6.0
🚀 NUKE 7.0
🚀 VineJS 1.0
🚀 Ionic Framework 7.0
🚀 LocalStack 2.0
🚩 5 красных флагов: как из текста вакансии понять, что компания — не очень
Как определить работодателя-абьюзера в АйТи? Объясняем на реальных примерах.
🔗 Основной сайт
🔗 Зеркало
💰Зарплатные вилки весной 2023: языки программирования и фреймворки
Команда Хабр Карьеры регулярно анализирует зарплаты IT-специалистов, в том числе и зарплатный рынок со стороны работодателя: какие языки и фреймворки были популярны этой весной на Хабр Карьере и какие зарплатные вилки предлагали в них работодатели.
🔗 Читать
#карьера
Предположим, что вы перешли в свой проект, начали работать над несколькими файлами и, возможно, добавили в индекс Git изменения одного из них. Если вы выполните git status, то увидите ваше изменённое состояние.
После чего вы хотите сменить ветку, но пока не хотите фиксировать ваши текущие наработки. Что можно сделать в данном случае?
Команда git stash или git stash push позволяет на время «сдать в архив» (отложить, припрятать) эти изменения в выделенное для этого специальное хранилище.
После выполнения команды вы можете легко переключать ветки и работать в любой, ведь ваши изменения сохранены.
🔸 Посмотреть список отложенных изменений: git stash list
🔸 Применить только что отложенные изменения: git stash apply или git stash apply stash@{2}
#вопросы_с_собесов #easy