私は何十、何十もの同じような言葉の質問を読みましたが、どれも私のニーズに合わないようでした。多くのタグとコミットを含むリポジトリがあります。数年前のコミット/タグに戻り、そのタグとそのタグに至るまでの履歴を複製したいと思います。
簡略化した表現は次のとおりです。
A - B - C - D - H - I - ... ZZZ
\ / \ /
E - F - G J - K
リポジトリのクローンを作成したいのですが、Hをコミットするまでしかありません。その結果、リポジトリは次のように表示されます。
A - B - C - D - H
\ /
E - F - G
私は自分が計画している行動の破壊的な性質を認識しています。私はそれをいじる前に既存のリポジトリをバックアップします。結果のクローンに私以降を含めないのは間違いなく私の意図です。
必要以上の履歴を複製する必要があります。ただし、取得したら、履歴を任意のタグに切り捨てることができます。リポジトリのクローンを作成することから始めます。
git clone --no-tags someurl myrepo
次に、リポジトリのヘッドを選択した参照にリセットします。
cd myrepo
git reset --hard ref-of-interest
そして、あなたはあなたが望むものを持っているべきです。
ここでは明示的にでクローンを作成--no-tags
しているため、タグはローカルで使用できないことに注意してください。履歴を特定のタグに切り捨てたい場合は--no-tags
、(a)オプションなしで複製するか、(b)git reset --hard
タグ名ではなく明示的なコミットIDに複製することができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加