Git. Часть 2. Что входит в Git?
Если при работе над проектом используется Git, все принадлежащие ему файлы проходят через несколько секций хранилища:
– рабочий каталог (Working directory);
– область подготовленных файлов или индекс (Staging area);
– каталог Git (Git directory).
Последнее — самая важная часть системы, поскольку именно здесь хранятся все объекты и метаданные вашего проекта.
Git–каталог — это и есть локальный репозиторий, который был клонирован с сервера. В нем содержится не только код, но и изображения, файлы конфигурации, скрипты, стили — эти и другие компоненты представлены здесь во всех вариациях, когда-либо сохраненных в удаленном репозитории.
Из сжатой базы данных каталога Git извлекается копия определенной версии проекта и помещается на жесткий диск компьютера для внесения изменений. Рабочий каталог или директория представляет собой как раз одну такую копию. Другими словами, в этой секции производятся все действия по редактированию файлов: переписывается код, меняются шрифты, цвета, добавляются новые блоки и функции или удаляются старые и так далее. Файл получает статус «изменен» (modified) и, если нужно, может быть перемещен в индекс — промежуточную зону между двумя каталогами.
В области подготовленных файлов он переходит в статус «индексирован» (staged), что означает готовность объекта к коммиту — отправке в репозиторий, где он станет «зафиксированным» (committed). Файл будет находиться в стейджинг–зоне до тех пор, пока пользователь не сохранит его в локальное хранилище и не отправит на сервер.
Каждую из этих секций можно представить как отдельную миниатюрную файловую систему, которая сообщается и взаимодействует с остальными при помощи определенных команд. Работа в Git строится простым и понятным образом, благодаря чему возрастает и ее эффективность.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Если при работе над проектом используется Git, все принадлежащие ему файлы проходят через несколько секций хранилища:
– рабочий каталог (Working directory);
– область подготовленных файлов или индекс (Staging area);
– каталог Git (Git directory).
Последнее — самая важная часть системы, поскольку именно здесь хранятся все объекты и метаданные вашего проекта.
Git–каталог — это и есть локальный репозиторий, который был клонирован с сервера. В нем содержится не только код, но и изображения, файлы конфигурации, скрипты, стили — эти и другие компоненты представлены здесь во всех вариациях, когда-либо сохраненных в удаленном репозитории.
Из сжатой базы данных каталога Git извлекается копия определенной версии проекта и помещается на жесткий диск компьютера для внесения изменений. Рабочий каталог или директория представляет собой как раз одну такую копию. Другими словами, в этой секции производятся все действия по редактированию файлов: переписывается код, меняются шрифты, цвета, добавляются новые блоки и функции или удаляются старые и так далее. Файл получает статус «изменен» (modified) и, если нужно, может быть перемещен в индекс — промежуточную зону между двумя каталогами.
В области подготовленных файлов он переходит в статус «индексирован» (staged), что означает готовность объекта к коммиту — отправке в репозиторий, где он станет «зафиксированным» (committed). Файл будет находиться в стейджинг–зоне до тех пор, пока пользователь не сохранит его в локальное хранилище и не отправит на сервер.
Каждую из этих секций можно представить как отдельную миниатюрную файловую систему, которая сообщается и взаимодействует с остальными при помощи определенных команд. Работа в Git строится простым и понятным образом, благодаря чему возрастает и ее эффективность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6✍3🤓2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10✍3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9✍3🔥2
Какое ключевое слово используется для ссылки на текущий экземпляр объекта внутри класса?
Anonymous Quiz
5%
object
3%
self
92%
this
1%
class
0%
Посмотреть ответ
🎉5✍3👍2
Git. Часть 3. Как начать работу в Git?
Чтобы включить Git в процесс разработки, для начала его нужно установить на компьютер. Если вы используете операционную систему из семейства Linux или Unix, достаточно произвести установку пакета при помощи пакетного менеджера. Либо вы можете скачать набор утилит последней версии с официального сайта Git, что также актуально для Windows и macOS.
После установки первым делом лучше настроить параметры для идентификации: имя пользователя и электронную почту. Для большинства операций они не потребуются, но без них у вас не будет возможности сделать коммит. Настройка производится при помощи утилиты git config. Или же это можно сделать прямо в среде разработки, например IntelliJ IDEA.
Также нужно создать репозиторий. Существует два способа создать Git–репозиторий: инициализировать новый или клонировать уже существующий.
В первом случае достаточно создать папку будущего проекта, перейти в нее и ввести команду git init. Репозиторий готов к работе: можете добавлять в него свои файлы.
После этого нужно сделать коммит изменений (git commit -m <название версии>). Таким образом, новые файлы будут готовы к отправке в удаленный репозиторий. Для связи локального и удаленного репозиториев требуется выполнить команду git remote add origin <url>.
Теперь Git знает, где находится удаленный сервер (куда отправлять файлы). Для отправки данных в репозиторий используется команда git push.
Если же вы хотите скопировать репозиторий из удаленного хранилища (например, GitHub), выполните команду git clone <ссылка на репозиторий>, находясь в нужной папке своего компьютера, куда должен склонироваться проект.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Чтобы включить Git в процесс разработки, для начала его нужно установить на компьютер. Если вы используете операционную систему из семейства Linux или Unix, достаточно произвести установку пакета при помощи пакетного менеджера. Либо вы можете скачать набор утилит последней версии с официального сайта Git, что также актуально для Windows и macOS.
После установки первым делом лучше настроить параметры для идентификации: имя пользователя и электронную почту. Для большинства операций они не потребуются, но без них у вас не будет возможности сделать коммит. Настройка производится при помощи утилиты git config. Или же это можно сделать прямо в среде разработки, например IntelliJ IDEA.
Также нужно создать репозиторий. Существует два способа создать Git–репозиторий: инициализировать новый или клонировать уже существующий.
В первом случае достаточно создать папку будущего проекта, перейти в нее и ввести команду git init. Репозиторий готов к работе: можете добавлять в него свои файлы.
После этого нужно сделать коммит изменений (git commit -m <название версии>). Таким образом, новые файлы будут готовы к отправке в удаленный репозиторий. Для связи локального и удаленного репозиториев требуется выполнить команду git remote add origin <url>.
Теперь Git знает, где находится удаленный сервер (куда отправлять файлы). Для отправки данных в репозиторий используется команда git push.
Если же вы хотите скопировать репозиторий из удаленного хранилища (например, GitHub), выполните команду git clone <ссылка на репозиторий>, находясь в нужной папке своего компьютера, куда должен склонироваться проект.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7✍3👨💻3
Когда класс перенимает свойство от другого класса, это называется...?
Anonymous Quiz
0%
Инкапсуляция
8%
Полиморфизм
90%
Наследование
0%
Инстанцирование
1%
Посмотреть ответ
🎉3✍2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7✍1🔥1
Git. Часть 4.
Давайте подробно рассмотрим примитивную схему Git ветвей. Постараюсь не сложно рассказать, основываясь на боевой опыт и опустив сложные формальности)
Обычно при командной разработке приложения существует главная ветка master. Где находится зафиксированный код рабочей программы, которой пользуются реальные пользователи.
Когда же поступает задача от заказчика разработать какой-то новый функционал, то разработчикам нужно дополнять зафиксированный в ветке master код своим новым кодом. В целях безопасности запрещено сразу дополнять код в главной ветке master.
А как тогда делать?
Каждый разработчик тогда делает свою индивидуальную ветку, отпочковавшись от ветки master. Получается, что весь код, который есть в ветке master, есть и на его новой ветке.
Со временем, когда разраб пишет больше кода, ему нужно фиксировать это у себя, чтобы не потерять изменения, например, если среда разработки глюкнет или чтобы можно было откатиться назад на шаг, в случае локальных проблем непонятного происхождения. Такое фиксирование делается с помощью коммита. То есть изменения/новый код фиксируется в системе Git. Вот эти кружочки на картинке – это и есть коммиты! По коммитам еще очень удобно смотреть историю всех изменений на ветке.
После того как новый функционал полностью реализован на отдельной ветке – он проходит стадию тестирования (например, с помощью тестировщиков, которые работают на совместном проекте). И только после стадии тестирования этот новый функционал / отдельная ветка может быть успешно влита (смержена / to be merged) в основную ветку master.
И в дальнейшем эти изменения могут быть донесены до конечного пользователя нашего с вами приложения. Но, конечно, не мгновенно и не без еще одного процесса, который называется деплоем на сервер) Об этом как-нибудь в другой раз!
В случае критической ошибки после вливания нового функционала в основную ветку master – мы всегда можем откатить рабочее приложение на шаг назад – на предыдущий коммит и вернуть его прежнюю работоспособность.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Давайте подробно рассмотрим примитивную схему Git ветвей. Постараюсь не сложно рассказать, основываясь на боевой опыт и опустив сложные формальности)
Обычно при командной разработке приложения существует главная ветка master. Где находится зафиксированный код рабочей программы, которой пользуются реальные пользователи.
Когда же поступает задача от заказчика разработать какой-то новый функционал, то разработчикам нужно дополнять зафиксированный в ветке master код своим новым кодом. В целях безопасности запрещено сразу дополнять код в главной ветке master.
А как тогда делать?
Каждый разработчик тогда делает свою индивидуальную ветку, отпочковавшись от ветки master. Получается, что весь код, который есть в ветке master, есть и на его новой ветке.
Со временем, когда разраб пишет больше кода, ему нужно фиксировать это у себя, чтобы не потерять изменения, например, если среда разработки глюкнет или чтобы можно было откатиться назад на шаг, в случае локальных проблем непонятного происхождения. Такое фиксирование делается с помощью коммита. То есть изменения/новый код фиксируется в системе Git. Вот эти кружочки на картинке – это и есть коммиты! По коммитам еще очень удобно смотреть историю всех изменений на ветке.
После того как новый функционал полностью реализован на отдельной ветке – он проходит стадию тестирования (например, с помощью тестировщиков, которые работают на совместном проекте). И только после стадии тестирования этот новый функционал / отдельная ветка может быть успешно влита (смержена / to be merged) в основную ветку master.
И в дальнейшем эти изменения могут быть донесены до конечного пользователя нашего с вами приложения. Но, конечно, не мгновенно и не без еще одного процесса, который называется деплоем на сервер) Об этом как-нибудь в другой раз!
В случае критической ошибки после вливания нового функционала в основную ветку master – мы всегда можем откатить рабочее приложение на шаг назад – на предыдущий коммит и вернуть его прежнюю работоспособность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3🔥3
Команды Git. Часть 5.1.
Вот несколько полезных команд Git для начинающих:
1) Инициализация
git init
Эта команда инициализирует новый репозиторий Git в текущем каталоге. Это первый шаг к использованию Git в новом проекте.
2) Статус
git status
Эта команда отображает текущий статус вашего репозитория, включая файлы, которые были изменены, добавлены или удалены.
3) Добавление файлов
git add
Эта команда добавляет файлы в промежуточную область, где изменения помещаются на промежуточный этап перед фиксацией.
4) Команда ниже добавляет файл file.txt в промежуточную область.
git add file.txt
5) Фиксация изменений
git commit
Эта команда создает новую фиксацию, которая записывает изменения, внесенные в репозиторий.
6) Команда ниже создает новую фиксацию с сообщением «Исправил ошибку в файле file.txt».
git commit -m «Исправил ошибку в файле file.txt»
7) Логи
git log
Эта команда отображает историю репозитория, включая список всех коммитов, дату и время каждого коммита и автора каждого коммита.
8) Разница между версиями
git diff
Эта команда отображает разницу между текущей версией файла и последней зафиксированной версией.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Вот несколько полезных команд Git для начинающих:
1) Инициализация
git init
Эта команда инициализирует новый репозиторий Git в текущем каталоге. Это первый шаг к использованию Git в новом проекте.
2) Статус
git status
Эта команда отображает текущий статус вашего репозитория, включая файлы, которые были изменены, добавлены или удалены.
3) Добавление файлов
git add
Эта команда добавляет файлы в промежуточную область, где изменения помещаются на промежуточный этап перед фиксацией.
4) Команда ниже добавляет файл file.txt в промежуточную область.
git add file.txt
5) Фиксация изменений
git commit
Эта команда создает новую фиксацию, которая записывает изменения, внесенные в репозиторий.
6) Команда ниже создает новую фиксацию с сообщением «Исправил ошибку в файле file.txt».
git commit -m «Исправил ошибку в файле file.txt»
7) Логи
git log
Эта команда отображает историю репозитория, включая список всех коммитов, дату и время каждого коммита и автора каждого коммита.
8) Разница между версиями
git diff
Эта команда отображает разницу между текущей версией файла и последней зафиксированной версией.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5✍3👨💻3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3✍1
Возможно ли напрямую создать экземпляр интерфейса в Java?
Anonymous Quiz
30%
Да
65%
Нет
5%
Посмотреть ответ
🎉4✍2👍1
Команды Git. Часть 5.2.
Еще несколько полезных команд Git для начинающих:
1) Команда ниже показывает изменения, внесенные в файл file.txt с момента последней фиксации.
git diff file.txt
2) Управление ветками
git branch
Эта команда используется для управления ветвями в вашем репозитории.
Команда ниже создает новую ветку с именем new_feature.
git branch new_feature
3) Переключение между ветками
git checkout
Эта команда используется для переключения между ветвями.
Команда ниже переключает на ветку new_feature.
git checkout new_feature
4) Объединение изменений
git merge
Эта команда используется для объединения изменений из одной ветки в другую.
Команда ниже объединяет изменения, сделанные в ветке new_feature, с текущей веткой.
git merge new_feature
5) Клонирование
git clone
Эта команда используется для клонирования существующего репозитория.
Команда ниже клонирует репозиторий https://github.com/user/repo.git на ваш локальный компьютер.
git clone https://github.com/user/repo.git
Это лишь некоторые из многих команд Git, которые могут помочь вам управлять своим кодом и сотрудничать с другими разработчиками. По мере знакомства с Git вы откроете для себя еще больше команд и функций, которые помогут вам работать более эффективно и результативно. Независимо от того, являетесь ли вы новичком или опытным разработчиком, знание этих команд необходимо для успешной разработки программного обеспечения.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Еще несколько полезных команд Git для начинающих:
1) Команда ниже показывает изменения, внесенные в файл file.txt с момента последней фиксации.
git diff file.txt
2) Управление ветками
git branch
Эта команда используется для управления ветвями в вашем репозитории.
Команда ниже создает новую ветку с именем new_feature.
git branch new_feature
3) Переключение между ветками
git checkout
Эта команда используется для переключения между ветвями.
Команда ниже переключает на ветку new_feature.
git checkout new_feature
4) Объединение изменений
git merge
Эта команда используется для объединения изменений из одной ветки в другую.
Команда ниже объединяет изменения, сделанные в ветке new_feature, с текущей веткой.
git merge new_feature
5) Клонирование
git clone
Эта команда используется для клонирования существующего репозитория.
Команда ниже клонирует репозиторий https://github.com/user/repo.git на ваш локальный компьютер.
git clone https://github.com/user/repo.git
Это лишь некоторые из многих команд Git, которые могут помочь вам управлять своим кодом и сотрудничать с другими разработчиками. По мере знакомства с Git вы откроете для себя еще больше команд и функций, которые помогут вам работать более эффективно и результативно. Независимо от того, являетесь ли вы новичком или опытным разработчиком, знание этих команд необходимо для успешной разработки программного обеспечения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3✍2👨💻2
Какое расширение файла обычно используется для файлов JSON?
Anonymous Quiz
6%
.xml
6%
.js
82%
.json
2%
.html
3%
Посмотреть ответ
😁5✍3👍3🎉3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7✍4👨💻2
Какого типа данных всегда должны быть ключи в JSON?
Anonymous Quiz
4%
Number
3%
Boolean
16%
Object
71%
String
6%
Посмотреть ответ
✍2👍2🎉2
Команды Git. Часть 5.3.
Один из необычных вопросов, который могут задать на собесе касательно Git звучит следующим образом:
Что такое HEAD ?
Начнем с того, что HEAD – это указатель на коммит в вашем репозитории, который станет родителем следующего коммита.
Давайте посмотрим на первую картинку – эти три коммита создавались в порядке слева направо от a98cce4 к 2b826bb. Каждый раз, когда мы отправляли новый коммит в репозиторий, HEAD смещался и указывал на него. После того как мы отправили коммит с id = 2b826bb, указатель HEAD стал показывать на него, т.е. данный коммит будет родителем для следующего.
И когда мы сделаем еще один коммит, HEAD сместится на него (вторая картинка).
Когда вы переключаетесь с ветки на ветку, используя операцию checkout, то в вашем репозитории указатель HEAD будет переключаться между последними коммитами выбираемых вами ветвей.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Один из необычных вопросов, который могут задать на собесе касательно Git звучит следующим образом:
Что такое HEAD ?
Начнем с того, что HEAD – это указатель на коммит в вашем репозитории, который станет родителем следующего коммита.
Давайте посмотрим на первую картинку – эти три коммита создавались в порядке слева направо от a98cce4 к 2b826bb. Каждый раз, когда мы отправляли новый коммит в репозиторий, HEAD смещался и указывал на него. После того как мы отправили коммит с id = 2b826bb, указатель HEAD стал показывать на него, т.е. данный коммит будет родителем для следующего.
И когда мы сделаем еще один коммит, HEAD сместится на него (вторая картинка).
Когда вы переключаетесь с ветки на ветку, используя операцию checkout, то в вашем репозитории указатель HEAD будет переключаться между последними коммитами выбираемых вами ветвей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3👨💻2🤓1
Какое назначение команды LIMIT в SQL?
Anonymous Quiz
1%
Фильтрует строки, возвращаемые оператором SELECT
0%
Упорядочивает результаты в порядке возрастания или убывания
0%
Группирует строки с одинаковыми значениями
97%
Ограничивает количество строк, возвращаемых оператором SELECT
2%
Посмотреть ответ
👍5✍4🎉3
Команды Git. Часть 5.4.
Распространенная команда git cherry-pick.
На собеседовании начинающего Java разработчика могут спросить - Что такое cherry-pick? Ответ нужно знать, потому что это очень нужная команда Git в процессе разработки ПО.
Команда git cherry-pick позволяет применять коммиты из одной ветки в другую. Это может быть полезно, если вы хотите взять определенный коммит из одной ветки и применить его в другой ветке без переноса всей истории коммитов.
Чтобы использовать git cherry-pick, нужно выполнить следующие шаги:
1) Перейти в ту ветку, в которую мы хотим применить коммит.
2) Выполнить команду git cherry-pick <commit-hash>,
где <commit-hash> - это хэш-код коммита, который мы хотим применить.
Давайте посмотрим на пример использования git cherry-pick. Предположим, что у нас есть две ветки: master и feature. Мы хотим применить коммит с хэш-кодом 123abc из ветки feature в ветку master. Выполним следующие команды:
– git checkout master (переключились на ветку master)
– git cherry-pick 123abc (применяем коммит с хэш-кодом 123abc в текущую ветку master, на которой находимся)
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Распространенная команда git cherry-pick.
На собеседовании начинающего Java разработчика могут спросить - Что такое cherry-pick? Ответ нужно знать, потому что это очень нужная команда Git в процессе разработки ПО.
Команда git cherry-pick позволяет применять коммиты из одной ветки в другую. Это может быть полезно, если вы хотите взять определенный коммит из одной ветки и применить его в другой ветке без переноса всей истории коммитов.
Чтобы использовать git cherry-pick, нужно выполнить следующие шаги:
1) Перейти в ту ветку, в которую мы хотим применить коммит.
2) Выполнить команду git cherry-pick <commit-hash>,
где <commit-hash> - это хэш-код коммита, который мы хотим применить.
Давайте посмотрим на пример использования git cherry-pick. Предположим, что у нас есть две ветки: master и feature. Мы хотим применить коммит с хэш-кодом 123abc из ветки feature в ветку master. Выполним следующие команды:
– git checkout master (переключились на ветку master)
– git cherry-pick 123abc (применяем коммит с хэш-кодом 123abc в текущую ветку master, на которой находимся)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6✍5🔥2❤1
Необычный случай из практики с Git.
Один из коллег, разрабатывающий на Java, столкнулся с неожиданной проблемой. Работая над новой функциональностью, он случайно внес изменения в чужую ветку, забыв создать свою. Это не сразу заметили, и спустя несколько дней работа нескольких разработчиков переплелась в одну ветку с конфликтующими изменениями.
Сначала он пытался самостоятельно разобраться, но это только усугубляло ситуацию. Он попытался вернуться к предыдущим коммитам, использовал git reset, git revert, но это лишь увеличивало хаос. Наконец, он понял, что без помощи не обойтись, и обратился к опытному коллеге.
Они вместе рассмотрели историю коммитов и использовали git cherry-pick, чтобы выбрать нужные изменения и перенести их в отдельную ветку. Затем, с помощью git rebase, аккуратно объединили изменения, решив конфликты и восстановив порядок.
Эта ситуация показала, насколько важно создавать отдельные ветки для каждой задачи и следить за своими изменениями. Она также подчеркнула важность командной работы и своевременного обращения за помощью, когда проблема становится слишком сложной для одного человека.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Один из коллег, разрабатывающий на Java, столкнулся с неожиданной проблемой. Работая над новой функциональностью, он случайно внес изменения в чужую ветку, забыв создать свою. Это не сразу заметили, и спустя несколько дней работа нескольких разработчиков переплелась в одну ветку с конфликтующими изменениями.
Сначала он пытался самостоятельно разобраться, но это только усугубляло ситуацию. Он попытался вернуться к предыдущим коммитам, использовал git reset, git revert, но это лишь увеличивало хаос. Наконец, он понял, что без помощи не обойтись, и обратился к опытному коллеге.
Они вместе рассмотрели историю коммитов и использовали git cherry-pick, чтобы выбрать нужные изменения и перенести их в отдельную ветку. Затем, с помощью git rebase, аккуратно объединили изменения, решив конфликты и восстановив порядок.
Эта ситуация показала, насколько важно создавать отдельные ветки для каждой задачи и следить за своими изменениями. Она также подчеркнула важность командной работы и своевременного обращения за помощью, когда проблема становится слишком сложной для одного человека.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5✍3👨💻3
Какое из нижеуказанных выражений валидно для создания LocalDate объекта?
Anonymous Quiz
12%
LocalDate.of(2024)
11%
LocalDate.with(2024.8.30)
13%
LocalDate.of(2024.0.30)
57%
LocalDate.now().plusDays(5)
7%
Посмотреть ответ
✍6🔥3👍2