1

これと同様のことをしようとしています:ローカル リポジトリの履歴のサブセットのみを使用して GitHub リポジトリを作成する

私は現在、マスターにすべてのコミットを持っていますが、過去のすべてのコミットの単一のコミットのみを持ち、古いコミットの履歴を持たない release というブランチを作成したいと考えています。

そのリンクの方法を使用してみましたが、そうすると、リリースへのそれ以上のマージが自動的にマージされなくなり、やや面倒です。(表示されるエラーは Squash commit -- not updates HEAD. Automatic merge failed. 競合を修正してから結果をコミットすることです。) 自動的にマージできる別の方法はありますか?

個別のリポジトリを作成するのが最も簡単な方法であることはわかっていますが、理想的には、ブランチを使用するだけです。

私はそれが次のように見えるようにしたい:

v1 はコミット 2 からのマージ、v2 はコミット 5 からのマージなどです。

[リリース]:

  • v2
  • v1

[主人]:

  • コミット 5
  • コミット 4
  • コミット 3
  • コミット 2
  • イニシャル

私はgitを初めて使用するので、これが本当に明らかな場合は申し訳ありません! ありがとう!

4

1 に答える 1

2

マスター ブランチのトップ コミットとまったく同じツリーを持つリリース ブランチでコミットを実行する場合は、次のようにします。

# make sure we are on the release branch
git checkout release
# populate index and working tree with tree from top master commit 
git read-tree -u --reset master
# commit it as "v1"
git commit -m v1
于 2012-05-27T15:00:58.953 に答える