Введение
🧑💻 Новенький в Git или LabEx? Мы рекомендуем начать с курса Быстрый старт с Git.
Git - это мощная система контроля версий, которая позволяет разработчикам эффективно управлять своим кодом. Одной из наиболее полезных функций Git является возможность выбирать (cherry-pick) изменения из одного или нескольких коммитов. Это позволяет разработчикам применять конкретные изменения к своему коду без необходимости объединения целых веток.
Git Cherry-Pick
Как разработчик, вы работаете над проектом с несколькими ветками. Вы обнаружили конкретное изменение, которое было внесено в предыдущем коммите и которое вы хотите применить к текущей ветке. Однако вы не хотите объединять всю ветку, так как она содержит другие изменения, которые вам не нужны. В таком сценарии вы можете использовать команду git cherry-pick, чтобы применить конкретное изменение к текущей ветке.
Для этого практического занятия используем репозиторий из https://github.com/labex-labs/git-playground. Следуйте шагам ниже, чтобы выполнить задание:
- Клонируйте репозиторий, перейдите в его директорию и настройте свои идентификационные данные:
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "your-username"
git config --global user.email "your-email"
- Создайте и переключитесь на ветку с именем
one-branch, создайте файл с именемhello.txt, запишите в него "hello,world", добавьте его в staging area и закоммитьте с сообщением "add hello.txt":
git checkout -b one-branch
echo "hello,world" > hello.txt
git add.
git commit -m "add hello.txt"
- Определите хэш коммита, созданного на предыдущем шаге, чтобы применить его к ветке
master:
git log
- Переключитесь на ветку
masterи примените изменения к этой ветке:
git checkout master
git cherry-pick 1609c283ec86ee4
- Проверьте, что изменения были применены к ветке
master:
git log
Вот результат выполнения команды git log на ветке master:
ADD hello.txt
Резюме
В этом практическом занятии вы научились использовать команду git cherry-pick для применения конкретных изменений из одного или нескольких коммитов к текущей ветке. Это мощная функция Git, которая позволяет разработчикам эффективно управлять своим кодом и избегать объединения целых веток.