25

Есть ли способ поделиться тайником в git?

Я работаю на нескольких машинах и часто хочу иметь возможность перемещать мое текущее рабочее состояние с одного на другое.

Я ищу способ, которым я могу нажать / вытащить тайник из одного клона в другой, и он будет отображаться либо как тайник для другого клона, либо как видимая удаленная ветвь. Я не ожидаю, что первый обязательно сработает, если у пульта уже есть свой тайник.

Учитывая, что stash, по сути, уже является веткой с коммитами (по-видимому), я не ищу решения в духе «зафиксировать каждый тайник в ветке, а затем поделиться ими» - у меня уже есть много, много веток. Поэтому я ищу refspec или аналогичный, который я могу использовать для управления push/pull.

3 ответа3

21

Это просто stash или refs/stash , который вы можете отправить в удаленную ветку:

git push origin stash@{2}:refs/heads/otherstash

Однако Git откажется отправлять ссылки непосредственно на refs/stash . Кроме того, кажется, что нет способа отправить целые reflogs, где хранятся предыдущие тайники.

5

Вы можете сделать патч и отправить его кому-нибудь. то, что вы должны сделать, это применить это.

git diff >> file.diff
5

Он не так хорошо интегрирован, как git push но чтобы избежать создания веток, я использую git stash show -p > change.patch (после сохранения изменений) или даже git diff --cached > change.patch чтобы создать патч, который я git apply change.patch на следующей машине, с которой я работаю.

По крайней мере, с этим решением, если в текущем рабочем состоянии изменено много файлов, все содержится в одном блоке данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .