git nirvana を達成するために、現在マージしている状況で rebase を活用する方法を学ぶことに 1 日を費やしています。
私が git 101 フロー (以下で詳しく説明します) と見なすものを実行するpush --force
とき、変更を元に戻すときに実行する必要があります。
私だけではありません - 私はこれが覆われた地面であることを知っています ( 1 、 2 、 3 、 4 、 5を参照) 。私の問題はこれです --- リベースの賞賛とそれが彼らの生活をどのように変えたかを歌っている多くの(多くの)ブログエントリがあります(いくつかをリストするには、1、2、3、4を参照してください)。彼らの流れ。ただし、既存のstackoverflowの質問に対するほぼすべての回答は、「ええ、リベースするつもりなら、使用する必要があります」などと言っています。push --force
push --force
リベース支持者の数と信心深さを考えると、'push --force' の使用はリベース フローに固有の部分ではなく、頻繁にプッシュを強制しなければならない場合、彼らは何か間違ったことをしていると私は信じなければなりません。
push --force
悪いことです。
それでは、私の流れです。 力を使わずに同じ結果を達成するにはどうすればよいでしょうか?
簡単な例
2 つのブランチ:
- v1.0 - パッチのみを含むリリース ブランチ
- master - 次のメジャー リリースのすべて。
いくつかのパッチ コミットと、次のリリースのためのいくつかのコミットがあります。
次のリリースで失われないように、パッチをマスターに組み込みたいと思います。悟り前 私は単純に:
git checkout master
git merge v1.0
しかし、今私はしようとしています
git checkout master
git rebase v1.0
だから今私はここにいます:
時間:
git push
サイコロはありません。