4

私のシナリオは、2 つのブランチがmasterありfeature_swap、これら 2 つと並行して作業したいというものです。これらには異なる基本機能があります。他のブランチでテストしたい master のいくつかのユーティリティ クラスを更新することがあります。その後、期待どおりの出力が得られれば、別のブランチで同じ変更を行うことさえあります。

すでに 2 つのブランチを作成しています。にいくつかの変更を加えてマスターを更新しましたutil。で同じことをテストしたいfeature_swap。(マージなし)

それを行う最良の方法は何ですか?またはどうすればいいですか?

私がそれを行うgit pull feature_swapと、間違った方法で自動マージされます。私が望むのは、feature_swap (レポートの前に一部のデータを交換する) の基本機能がそのまま残ることです。他のすべての実装は、変更時にmaster変更される可能性があります

アップデート

私は初心者です:(初めてブランチを行います。私のプロジェクトはbitbucketにあります。ブランチを比較するツールがあります。マスターを左右に配置するとfeature_swap

$ git checkout feature_swap
$ git merge remotes/user_name/project_name/master

しかし、そうするとマージされると思いますmaster-> feature_swap(私は間違っていますか)。しかし、私はそれらの変更を望んでいますがfeature_swap、並行して開発を続けています。

feature_swapまた、からマージしても並列フローで発生するのは問題masterですか?

4

2 に答える 2

1
rebase --interactive

これは、インタラクティブなリベースが役立つ状況のように思えます。リベースに何を含め、何を除外するかをより詳細に制御でき、古いコミットを変更または破棄するのにも役立ちます。this oneなど、このトピックを参照する投稿はたくさんあります。これは、必要なすべてのユーティリティ コミットをチェリー ピックする代わりの方法です。

于 2012-09-29T15:47:13.490 に答える
0

git pull --rebase master
マスターの変更の上にカスタムの変更を保持し、マージする前にそれらを修正する機会を提供します。

git pull --no-commit --no-ff master
変更をプルし、マージする前に競合を修正できます。

git cherry-pick COMMIT-ID
あるブランチから別のブランチに 1 つのコミットを持ち込むことができます。

これらのアプローチのいずれかが役立つことを願っています。

于 2012-09-29T15:24:15.047 に答える