ブランチで作業している場合は、最初にmaster
を基にしたfeature-foo
としましょう。そして私はそれに多くのコミットを続けています。その同時にマスターをマージする方法
、私の同僚が
feature-baz
に取り組んでいる、マスターにそれを自分のブランチをマージすることを決定。次に、
feature-foo
は現在現在マスターにある特定の変更に依存していることがわかります。私は私のfeature-foo
ブランチにマスターをマージし、私は戻ってマスターにそれをマージする準備ができていますが、その後、私の同僚は、すでに習得して他のいくつかの変更をマージし、今私は競合を持っている、とすることができますいくつかの点でfeature-foo
を構築し続けるだろう私の
feature-foo
を簡単にマージすることはできません。masterを
feature-foo
にマージするのではなく、masterの新しいブランチを開始してfeature-foo
をそのブランチにマージすると、競合を解消する方が簡単なようです。だから、私はfeature-foo-2
(現在のマスターからそれをベースにして)を作成し、次にfeature-foo
をfeature-foo-2
にマージして、途中で競合を修正します。今、私の
feature-2
ブランチは競合がなく、マスタにマージする準備が整いました。
私の質問は:多分私は何か間違っていますか?それをすべて処理する簡単な方法はありますか? マスターの変更を処理する最良の方法は何ですか? 他のブランチを私のものにマージする前に、いつもrebaseとsquashを試してみるべきですか?明らかに、他のブランチからのものをマージした後に、コミットを潰すことはお勧めしません。
私たちはgit-flowを使用していません。私が理解しているように、私は自分の利益のためにそれを使うことはできません、グループ全体はそれを使うことに同意しなければなりませんか? あなたの考えは?
upd:もちろん、私はorgin/master(私たちのgithub repoの設定方法です)に入ることはできません。マスターへのマージはプルリクエストを経由する必要があります。 あなたは、私が地元支部で何かを小さくしても、PRを受け入れるためには、マスターをマージ/リベースしなければならないことが分かります。しかし、その時までにはすでにマスターがさらに進化していて、現実には私のブランチをマスターにリベース/マージするのが簡単になりました。しかし、私は原点にマスターをプッシュすることができないので、私は一時的なブランチを作成して(マスターに基づいて)、その上に私の変更をマージ/リベースし、その一時的なブランチに基づいてPRを作成しなければなりません。
あなたの質問は少し広いです。リモートの 'master'をブランチにマージして最新のものにすることは何も問題ありません。 –
合意。それは個人的な味についてです。同様に、自分のローカル支店で働くとき、私は 'merge'より' rebase'を優先します。 –
@EvenYoungそうかもしれないが、それは答えだろう - 私の枝にマスターをマージするのではなく、私はいつもマスターから自分の枝にリベースしようとするべきだろうか? – Agzam