0

そのため、最初の Web アプリケーションでは、すべてまたは多数のコンポーネントを一度に開発しようとしましたが、不可能だと思っていたことを実装することに成功しました。ただし、展開プロセス中に、これらのリリースを少しずつ開始する必要があるため、マスターするためにコミットした多くのコードは、後日まで実際には存在しないはずです。今のところ削除し、後で追加する必要があります。

今必要なコードだけが含まれるようにコードベースをトリミングし、コミットされたすべてのコードをどこかに保持して、後で git マージで追加するにはどうすればよいですか? (マスターから削除したものを git merge で削除する代わりに)

おそらくこれを複数回行う必要があります。

(おそらく、このようにするべきではありませんでしたが、指導なしで自分で開発することを学ぶと、たわごとが起こります. )

4

2 に答える 2

2

次のようにして、コミットをチェックアウトできます

git checkout hash

ここで、hash は git log によって表示されるハッシュ文字列です。終了したら、使用します

git checkout master

一般に、リリース用の機能をマージする安定したブランチが必要です。

于 2013-03-04T14:04:39.253 に答える
1

オプション 1: バージョンを手動で選択する

(ハンネスの答えによる)。これの欠点は、後でコミットがリリースされた記録が git にないことです。


オプション 2: タグのバージョン

とにかく、リリースにタグを付けるのは良い習慣です!

オプション1と同じですが、チェックアウトされたコミットにgit tag -am'first release' v1.0(または何でも)タグを付けます。このようにして、どのコミットがリリースされたかを記録できます。


オプション 3: 偽のリリース履歴

release最初のコミットからブランチを作成し、git merge --no-ff(オプション 1 と 2 に従って) 祝福された各コミットをリリース ブランチにマージするために使用できます。私はまだそれらにタグを付けますが、これは偽の開発履歴のようなものを提供します. 他の誰もあなたのレポをクローンしていない場合、構造は必要であるが別のブランチは必要ない場合は、最後にmaster完全なreleaseブランチにリセットできます。

于 2013-03-04T14:14:31.327 に答える