Есть ли способ поделиться тайником в git?
Я работаю на нескольких машинах и часто хочу иметь возможность перемещать свое текущее рабочее состояние с одного на другое.
Я ищу способ, которым я могу нажать / вытащить тайник из одного клона в другой, и он будет отображаться либо как тайник для другого клона, либо как видимая удаленная ветвь. Я не ожидаю, что первый обязательно сработает, если у пульта уже есть собственный тайник.
Учитывая, что stash, по сути, уже является веткой с коммитами (по-видимому), я не ищу решения в духе «зафиксировать каждый тайник в ветке, а затем поделиться им» - у меня уже есть много, много веток. Поэтому я ищу refspec или аналогичный, который я могу использовать для управления push / pull.
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
должен делать хорошо для всех тайников; См. Также stackoverflow.com/a/5248758/85371Он не так хорошо интегрирован, как,
git push
но чтобы избежать создания веток, я используюgit stash show -p > change.patch
(после сохранения изменений) или дажеgit diff --cached > change.patch
для создания патча, на котором я работаюgit apply change.patch
на следующей машине.По крайней мере, с этим решением, если в текущем рабочем состоянии изменяется много файлов, все содержится в одном блоке данных.
источник
Вы можете сделать патч и отправить его кому-нибудь. то, что вы должны сделать, это применить это.
источник