200 件以上のコミットがある既存の bitbucket リポジトリ A がありました。コードをダウンロードしました (.git ファイルなし)。最初のコミットで追加されたすべての既存のコードを使用して、新しいレポ B を作成しました。次に、レポ B でさらに 150 件のコミットを行います。レポ A には新しいコミットがありません。私はレポ B のみで作業しました。現在の要件は、すべてのコードと履歴 (可能であれば) を含む単一のレポ、またはレポ B の変更を履歴の単一のエントリとして行うことです。3番目のレポCは、AとBを危険にさらしたくないので問題ありません.
3 に答える
4
私があなたを正しく理解していれば、あなたは現在持っています
- B の最初のコミットとしての A の最新の状態
- それに加えて、Bでも多くの作業が行われます
そして、あなたはCを取得したい
- Aのすべての歴史
- その上に B のすべての履歴 (もちろん最初のコミットを除く)。
それが正しいと仮定すると、これはパッチを介してそれを行う1つの方法です:
A の新しいクローンを取得します。
$ git clone A C
B の最初のコミット (A からのものを含む) のハッシュが何であるかを確認します。
$ cd B
$ git log --oneline|tail -1
1234beef Initial commit
引き続き B で、残りのすべての作業をパッチとしてエクスポートします。
$ git format-patch 1234beef..HEAD
.patch
(これにより、Bに一連のファイルが生成されます)
これらすべての変更を A の新しいクローンにインポートします。
$ cd C
$ git am ../B/*.patch
これで完了です。
于 2013-10-04T13:48:38.100 に答える