Просто используйте отдельные репозитории для «центрального» и «в процессе». Пусть ваше центральное значимое репо станет местом, где вы будете вносить изменения, которыми вы готовы поделиться с миром, и пока вы не будете готовы выпустить их, перенесите их в отдельное репо «-devel». Толкай и тяни к этому со всех своих машин и превращай-развивай в формальный с «толчком», когда будешь готов.
Вы можете стать более любопытным и использовать очередь исправлений (mq) в devel, которая сама по себе управляется версией, если вы не хотите, чтобы результирующие наборы изменений обязательно соответствовали вашим набираемым изменениям, но я фанат разоблачения обрабатывать столько же, сколько и результат, поэтому я не иду по этому пути.
В любом случае, несмотря на то, что push и pull - это все, что вам нужно, чтобы текущая работа шла в / из хранилища -devel (или версионной очереди), а затем мигрировала в центральное положение, когда вы будете готовы.
(Расширение LocalBranch, предложенное в комментарии к самому вопросу, совсем не то, что вам нужно, поскольку они вообще не переносятся между машинами - отсюда и их имя.)