Да, это почти то, что вы делаете.
Вы создаете и извлекаете новую ветку
git checkout -b experimental-feature
Затем вы работаете над этой веткой столько времени, сколько хотите. Вы можете зафиксировать эту ветку, не касаясь главной ветви.
git add .
git commit -m "did some awesome work!"
Если вы хотите сохранить новую функцию, то есть добавить ее в основную ветку, вы переключаетесь на главную ветку, объединяете ветку и затем удаляете ветвь:
git checkout master
git merge experimental-feature
git branch -d experimental-feature
или, если вы хотите отказаться от экспериментальной функции, просто удалите ветку:
git checkout master
git branch -D experimental-feature
Примечание: заглавная буква D в последней команде важна, так что git можете удалить ветку без слияния.
Happy Coding!