http://nvie.com/posts/a-successful-git-branching-model/で説明されているように、リポジトリでブランチを管理する git フローの方法を使用しています。
したがって、使用するコマンドのシーケンスは次のようになります。
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff mybranch
ただし、場合によっては、別の方法でやりたいことが 1 つあります。
機能ブランチ ( ) のすべてのコミットを保持したいのですが、mybranch
にマージするときにそれらを 1 つの diff にまとめて (または押しつぶして)もらいたいと考えていますdevelop
。
したがって、これはコマンドのシーケンスが次のようになるべきだと私が考えるものです。
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff --squash mybranch
--no-ff
と組み合わせると、間違ったことをする--squash
でしょうか?
これを試すのをためらっているのは、「スカッシング」と「履歴の保存」がどのように直交する要件であるかに起因します-履歴を変更せずにすべてのコミット (マージを含む) を 1 つのコミットにスカッシングするを参照してください
mybranch
私の理論的根拠は、あるブランチ ( ) で履歴を保存し、別のブランチ ( ) で suqashを保存したいということですdevelop
--> これらのアクションは別々のブランチで実行されるため、これで問題ありません。