32 有没有一种方法可以在git中共享存储? 我在多台机器上工作,通常希望能够将当前的工作状态从一种转移到另一种。 我正在寻找一种方法,可以将一个存储项从一个克隆推/拉到另一个克隆中,并使其显示为另一个克隆的存储项或明显的远程分支。我并不期望如果遥控器已经拥有自己的存储空间,那么前者就一定会起作用。 鉴于存储实际上已经是一个带有提交(显然)的分支,因此我不打算按照“将每个存储都提交给一个分支然后共享这些存储”的方式寻找解决方案-我已经有了很多,许多分支机构。因此,我正在寻找refspec或类似的东西来控制推/拉。 git — 彼得·乔 source
26 隐藏是just stash或refs/stash,您可以将其推送到远程分支: git push origin stash@{2}:refs/heads/otherstash 但是,Git将拒绝直接推送到refs/stash。另外,似乎没有办法将整个reflog推送到存储先前存储的位置。 — 引力 source 6 git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)应该很好地处理所有藏匿处;另请参见stackoverflow.com/a/5248758/85371 — sehe
11 它并没有很好地集成,git push但是为了避免创建分支,我使用了git stash show -p > change.patch(在存储更改后),甚至git diff --cached > change.patch创建了补丁,在我git apply change.patch使用的下一台机器上。 至少使用此解决方案,如果在当前工作状态下更改了许多文件,则所有内容都包含在一个数据单元中。 — 新 source 是的,但是怎么 ?git stash -p仅交互地询问我每个大块-然后吐出我不明白的长行。我可以带到另一台机器的那个“补丁”在哪里?什么是git diff--cached?以及如何使用git apply?您能再详细一点吗? — Motti Shneor '18 我详细说明并纠正了我的答案 — Neo
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
应该很好地处理所有藏匿处;另请参见stackoverflow.com/a/5248758/85371