2017-06-16 17 views
1

同じリモートリポジトリの2つのgitクローンがあります。私はクローンAにおけるいくつかのスタッシュを作成し、今B.あるクローンまたはフォルダから別のクローンまたはフォルダにスタッシュリストをコピー

[クローンA] ----スタッシュ---> [クローンB]私ができる

回避策の一つのクローンを作成するために、これらのスタッシュを移動したいしていますそれぞれの隠し場所のためのブランチを作成し、そのブランチをクローンAを介してリモートにプッシュし、これらのブランチをクローンBにプルすることを考えています。しかし、これは私がやりたいことではありません。

誰もがそれをやっているのと同じように、より簡単でクリーナーな方法を提案できますか?

答えて

0

多くの方法:SSH経由

  • は、Clone Bマシン上のどこかにClone A.git/フォルダをコピーし、それらbetwen直接引っ張っ/他のリモートとして1つのレポを追加し、プッシュしますあなたのClone Aのこの "ローカルコピー"をリモコンとして使用するClone B

  • コミットをClone Aにプッシュする彼の中央リポジトリではなく、(あなたは、他の人からデフォルトgit pullは、これらの参照を取得しませんrefs/cloneA/stash1を言うためにプッシュする場合の枝は、refs/heads/に格納されている)の枝の下で

0
あなたはのため .git/refs/stashをコピーすることができるはずです

最新のstashと.git/logs/refs/stashをスタックに入れてください。実際には、私が考える最新のもののためにrefs/stashを引っ張ってもらえるはずです。

しかし、これはおそらく正しく動作しません。スタッシュのコミットオブジェクトがコピー先に存在しないからです。 .git/objects/info/alternatesを設定して、Aリポジトリ内で見つからないオブジェクトが検索され、コピーがターゲットで機能するようにすることができます。

おそらくgit worktreeを使用して、複数のクローンではなく同じリモートリポジトリに複数のワークツリーを作成する必要があります。あなたは多くのスペースを節約し、私はあなたがスタッシュを共有することができると思う。

関連する問題