13

いくつかの支店があります...

  • master私たちの開発ブランチです。
  • feature-newfeature新機能です。
  • feature-tempfeatureは、新機能が作成されるまで当社の製品チームが求めていた新機能です。feature-newfeatureしばらく前に開始され、まだマージされてmasterいません(ただし、に他の変更がありますmaster)。

これで、この一時機能を配置するように指示されました。この機能にはmaster、リリース可能なビルドからのすべての変更が必要ですが、作業中のものもいくつか必要ですnewfeature(「一部のものは再利用できます」と言われています)。あなたはすでにやった」)。

これを行うのにどのように最善でしょうか?ブランチfeature-tempfeatureから作成しました。まだ終わっていないので、マスターにマージしたくありません。masterfeature-newfeature

feature-newfeature並行して作業を続けていきたいので、どちらも使いたくありません。

開発環境でこの問題をどのように解決しますか?

どうもありがとう!

4

2 に答える 2

22

ブランチは、特定のコミットの単なるエイリアスです。したがって、実際に同じコミットを指す複数のブランチを持つことができます。newBranchしたがって、マスターと同じコミットを指す新しいブランチを作成してから、にマージfeature-tempfeatureすることができますnewBranch。効果は、マスターが手つかずのままであることを除いて、マスターにマージするのと同じです。

于 2013-01-08T10:36:54.457 に答える
4

私の理解から、あなたのシナリオは次のとおりです。

---master----
\___tempf____
\___newf_____

あなたの問題:あなたは同様にtempfの変更で必要ですmasternewf

解決:

1)保存されていない変更をで隠しtempfます$ git stash

2)masterをtempfとマージし、newfをtempfとマージして、masterとnewfの両方を変更します。

3)変更をスタッシュポップします$ git stash pop

@MaxLeskeが言ったように、ブランチは単なるエイリアスであり、コミットへのポインタのように機能しますが、コミット自体ではありません。

于 2013-01-08T10:47:13.923 に答える